上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 36 下一页
摘要: 一:解题思路 add:Time:O(1),find,Time:O(n) 二:完整代码示例 (C++版和Java版) C++: class TwoSum { private: vector<int> data; public: void add(int number) { data.push_back 阅读全文
posted @ 2020-04-15 11:46 repinkply 阅读(122) 评论(0) 推荐(0)
摘要: 一:解题思路 一:这个题目是将链表右边的结点循环移动到链表的左边来。 1.将链表首位相连,移动次数为K,K=K%N (N为链表的长度)。 2.然后,再找新的链表的结束尾结点时,需要从链表头部走N-K-1步,即可以找到链表的新的尾部结点。 二:如果将这个题目改编一下,将链表左边的结点循环移动到链表的右 阅读全文
posted @ 2020-04-14 21:11 repinkply 阅读(150) 评论(0) 推荐(0)
摘要: 一:解题思路 Time:O(n),Space:O(1) maxValue为最远可以跳到的距离。 1.如果当前的可以跳到的最远距离已经到底了末尾,或者已经超过末尾的,直接返回true。 2.如果当前下标已经超过最远可以到达的距离,直接返回false。 3.不断更新最远可以跳到的距离。 二:完整代码示例 阅读全文
posted @ 2020-04-14 20:47 repinkply 阅读(146) 评论(0) 推荐(0)
摘要: 一:解题思路 定义三个游标,p2,p3,p5,分别指向用来乘以2,3,5中的数组元素,然后取其最小值,加入到丑数数组中来。 Time:O(n),Space:O(n) 二:完整代码示例 (C++版和Java版) C++: class Solution { private: int min3(int a 阅读全文
posted @ 2020-04-14 20:25 repinkply 阅读(166) 评论(0) 推荐(0)
摘要: 一:解题思路 比如给我们的数组为:218421,那么下一个全排列为:221148。记住这个例子,根据这个例子来做这个题目。 Time:O(n),Space:O(1) 二:完整代码示例 (C++版和Java版) C++: class Solution { public: void nextPermut 阅读全文
posted @ 2020-04-14 18:10 repinkply 阅读(157) 评论(0) 推荐(0)
摘要: 一:解题思路 Time:O(n*log(n)),Space:O(log(n)) 和之前做过的合拼K个链表的第二种方法有点类似,采用归并的思想来做。就是不断的把链表切半,然后递归的处理这2条链表。然后再将这2条排序好的链表合并起来就行。 二:完整代码示例 (C++版和Java版) C++: class 阅读全文
posted @ 2020-04-14 17:27 repinkply 阅读(136) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一:之前做过一道合并2个链表的题目,那么第一种方法就是将数组中的链表两两合并,得到最后的结果。Time:O(k*n),Space:O(1) 方法二:采用分治法,两两合拼。不断递归,最后只剩下一个链表。Time:O(n*log(k)),Space:O(log(k)) 二:完整代码示例 阅读全文
posted @ 2020-04-13 21:47 repinkply 阅读(187) 评论(0) 推荐(0)
摘要: 一:解题思路 方法一:使用一个辅助集合。Time:O(n),Space:O(n) 方法二:快慢指针法。Time:O(n),Space:O(1) 二:完整代码示例 (C++版和Java版) 方法一C++: class Solution { public: ListNode *detectCycle(L 阅读全文
posted @ 2020-04-13 20:38 repinkply 阅读(203) 评论(0) 推荐(0)
摘要: 一:解题思路 解题的关键之处在于:对于一个已经递增排序好的数组,从左往右本来就是递增的,从右往左本来就是递减的。我们只需要找到第一次不满足这2个条件的下标 i和j,然后基于这两个下标 i和j,分别向两边扩展,确定最短长度。 记住这个例子:02418 方法一:Time:O(n*log(n)),Spac 阅读全文
posted @ 2020-04-13 17:53 repinkply 阅读(124) 评论(0) 推荐(0)
摘要: 一:解题思路 Time:O(h),Space:O(h),h为树的高度 二:完整代码示例 (C++版和Java版) C++: class Solution { public: TreeNode* deleteNode(TreeNode* root, int key) { if (root == NUL 阅读全文
posted @ 2020-04-13 16:44 repinkply 阅读(145) 评论(0) 推荐(0)
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 36 下一页