1 2 3 4 5 ··· 22 下一页
  2021年8月13日
摘要: 变量简洁正确完整思路 map<int左边界,int右边界>left2right map<Int右边界,int左边界>right2left 可以利用右边界查找左边界,可以利用左边界查找右边界 对于num,查找num-1作为右边界的左边界和num+1作为左边界的右边界 如果都有,新的左边界right2l 阅读全文
posted @ 2021-08-13 20:29 offer快到碗里来~ 阅读(63) 评论(0) 推荐(0)
  2021年8月12日
摘要: 变量简洁正确完整思路 快速选择找到中点n-1)/2的值midNum 找到中点midNum后,用三分法将<放左边,=放中间,>放右边, 00 111 56 i从mid往左,j从n-1往左,才能1这个重复的放在最两侧 不能i从0往右,j从mid+1往右,不能保障1这个重复的在最左边 三分法1232222 阅读全文
posted @ 2021-08-12 12:02 offer快到碗里来~ 阅读(62) 评论(0) 推荐(0)
  2021年8月11日
摘要: [image:1628696379919.png] 变量简洁正确完整思路 单调栈能够在保证相对顺序下,找到一个最大的组合,因为遇到更大的只要pop掉 前面较小的这就是单调栈,但是对长度有限制导致后半部分不用考虑pop不单调, 合并nums1nums2只需要大的放前面,但是相等,因为不是单调,所以需要 阅读全文
posted @ 2021-08-11 23:44 offer快到碗里来~ 阅读(54) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 枚举两个单词,wordsi wordsj 如果没有重复单词就更新答案ans,判断重复用哈希集 seen遍历wordsi,然后遍历wordsj看是否存在 class Solution { public: int maxProduct(vector<string>& words) 阅读全文
posted @ 2021-08-11 21:24 offer快到碗里来~ 阅读(40) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 去重用哈希集,相对顺序就像按顺序放到双端队列deq,字典序最小如bcabc 有bca和abc,遇到a,如果后面还有bc(用char2cnt表示a后面还有多少),且deqfront>a就应该popdeq并删掉哈希集,如何维护char2cnt,先遍历一遍全部,然后 b就cnt--, 阅读全文
posted @ 2021-08-11 20:53 offer快到碗里来~ 阅读(49) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 拓扑排序,删除前的图A是,删除入度为1的节点后的图B,A的最小生成树是B的最小生成树叶子接上删除的节点, 无向图拓扑排序,入度至少为1,初始化graph需要edges[i][0] edges[i][1]都初始化为彼此,都要更新入度,topoSort把入度1都放入que,然后一次 阅读全文
posted @ 2021-08-11 14:37 offer快到碗里来~ 阅读(35) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 dfs,全局ok判断 fori作为第二个开头,forj作为第二个结尾,计算后从k=j+1开始找, <add就继续找,=add dfs,>addreturn,以下是未处理溢出的初步代码,防止前置0用了很多continue class Solution { public: bool 阅读全文
posted @ 2021-08-11 13:12 offer快到碗里来~ 阅读(52) 评论(0) 推荐(0)
  2021年8月10日
摘要: 变量简洁正确完整思路 dp,dpi是0到i的以numi为结尾的最长严格递增长度,dp0时第一个 转移 10 9 2 5 3 7 101 18 dp i=max(dpj +1)dp i if numj<numi 初始化 dp 初始化1,至少都是1 class Solution { public: in 阅读全文
posted @ 2021-08-10 22:55 offer快到碗里来~ 阅读(37) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 本质上是前序遍历过程记录,不同是遇到空节点也要记录,所以可以光靠同样一个前序遍历恢复 dfs,形参root将root序列化成字符串,前序遍历也就是root->val+ +左子树+ +右子树,边界返回null,利用stringstream很好处理空格的特性,用空格来分割 dfs, 阅读全文
posted @ 2021-08-10 21:41 offer快到碗里来~ 阅读(54) 评论(0) 推荐(0)
摘要: 插入排序,往已经排好序的插入一个元素就用插入排序 class MedianFinder { public: vector<int>nums; /** initialize your data structure here. */ MedianFinder() { } void addNum(int 阅读全文
posted @ 2021-08-10 21:04 offer快到碗里来~ 阅读(45) 评论(0) 推荐(0)
1 2 3 4 5 ··· 22 下一页