会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
repinkply
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
15
16
17
18
19
20
21
22
23
···
36
下一页
2020年4月15日
p128 设计一个类求和为给定值的两个数(lintcode 607)
摘要: 一:解题思路 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)
2020年4月14日
p127 旋转单链表(leetcode 61)
摘要: 一:解题思路 一:这个题目是将链表右边的结点循环移动到链表的左边来。 1.将链表首位相连,移动次数为K,K=K%N (N为链表的长度)。 2.然后,再找新的链表的结束尾结点时,需要从链表头部走N-K-1步,即可以找到链表的新的尾部结点。 二:如果将这个题目改编一下,将链表左边的结点循环移动到链表的右
阅读全文
posted @ 2020-04-14 21:11 repinkply
阅读(150)
评论(0)
推荐(0)
p126 跳跃游戏(leetcode 55)
摘要: 一:解题思路 Time:O(n),Space:O(1) maxValue为最远可以跳到的距离。 1.如果当前的可以跳到的最远距离已经到底了末尾,或者已经超过末尾的,直接返回true。 2.如果当前下标已经超过最远可以到达的距离,直接返回false。 3.不断更新最远可以跳到的距离。 二:完整代码示例
阅读全文
posted @ 2020-04-14 20:47 repinkply
阅读(146)
评论(0)
推荐(0)
p125 第 n 个丑数(leetcode 264)
摘要: 一:解题思路 定义三个游标,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)
p124 数组的下一个排列(leetcode 31)
摘要: 一:解题思路 比如给我们的数组为: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)
p123 单链表排序(leetcode 148)
摘要: 一:解题思路 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)
2020年4月13日
p122 合并 K 个有序链表(leetcode 23)
摘要: 一:解题思路 方法一:之前做过一道合并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)
p121 单链表中圆环的开始节点(leetcode 142)
摘要: 一:解题思路 方法一:使用一个辅助集合。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)
p120 需要排序的最短子数组(leetcode 581)
摘要: 一:解题思路 解题的关键之处在于:对于一个已经递增排序好的数组,从左往右本来就是递增的,从右往左本来就是递减的。我们只需要找到第一次不满足这2个条件的下标 i和j,然后基于这两个下标 i和j,分别向两边扩展,确定最短长度。 记住这个例子:02418 方法一:Time:O(n*log(n)),Spac
阅读全文
posted @ 2020-04-13 17:53 repinkply
阅读(124)
评论(0)
推荐(0)
p119 二叉搜索树中删除节点(leetcode 450)
摘要: 一:解题思路 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
下一页
公告