摘要: https://www.cnblogs.com/grandyang/p/4620012.html 阅读全文
posted @ 2018-09-16 22:57 有梦就要去实现他 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 用优先队列排序,优先队列是大根堆 https://www.cnblogs.com/grandyang/p/5454125.html 阅读全文
posted @ 2018-09-16 22:55 有梦就要去实现他 阅读(254) 评论(0) 推荐(0) 编辑
摘要: begin,end必须初始化,如果整个数组是排序好的,经过for循环后,begin、end还是原始的值。 注意:end必须比begin小1,因为最终的长度是end - begin + 1,关键在于这个+1的地方 https://www.cnblogs.com/jimmycheng/p/7673733 阅读全文
posted @ 2018-09-16 22:43 有梦就要去实现他 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 用unordered_map存储字符和字符对应的索引。 left是上一个重复字符的位置索引,初始为-1,因为最开始没有重复字符,如果初始为0,就表示第0个位置重复了,显然不符合题意。同时你也可以用i-left计算发现,如果前面没有重复,你的left初始化为0,计算就少1了。 注意:if判断中要m[s 阅读全文
posted @ 2018-09-16 21:56 有梦就要去实现他 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 后面3个题都是限制在1~n的,所有可以不先排序,可以利用巧方法做。最后两个题几乎一模一样。 217. Contains Duplicate 可以通过排序然后判断相邻两个的数是否相等,时间复杂度O(nlogn),空间复杂度O(1) 使用hash-map,时间复杂度时间复杂度O(n),空间复杂度O(n) 阅读全文
posted @ 2018-09-16 18:48 有梦就要去实现他 阅读(156) 评论(0) 推荐(0) 编辑
摘要: class Solution { public: int hammingDistance(int x, int y) { int res = x ^ y; int count = 0; int m; while(res){ m = res & (res - 1); co... 阅读全文
posted @ 2018-09-16 12:28 有梦就要去实现他 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 这个题和剑指上的倒数第k个结点略微有点不一样,找到倒数第k个只需要移动n-1次,但删除倒数第k个需要移动n次,因为需要找到倒数第k个后面那个 还有如果k值大于等于了长度,返回的是head的next 注意p2->next = p2->next->next https://www.cnblogs.com 阅读全文
posted @ 2018-09-16 12:21 有梦就要去实现他 阅读(270) 评论(0) 推荐(0) 编辑