2021年8月4日
摘要: 变量简洁正确完整思路 二分,leftright,对于mid,如果[left]<[mid]则左边是升序,则更新ans=min[left],排除左半段,同理[mid]<[right]则右边升序,则ans=min[mid]更新,排除右半段 精确定义 left mid right class Solutio 阅读全文
posted @ 2021-08-04 23:40 offer快到碗里来~ 阅读(26) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 具有某种递推关系dpi,因为遇到负数则前面越小越好,所以维护dp2 i,遇到正数,则前面的越大越好,不要麻烦的ifelse,直接维护dp和dp2,一个最大一个最小 精确定义 dp i 第i个元素结尾连续数组最大乘积,dp0是空,dp1是第一个 dp2 i 第i个元素结尾连续数组 阅读全文
posted @ 2021-08-04 23:29 offer快到碗里来~ 阅读(50) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 left来到一个字符,right来到最后一个字符,如果s[left]不是空格就word+=s[left],遇到空格将单词push_back到双端队列deque ans1,string ans从ans1前部取单词+=并加空格,ans1空了就不要加空格 精确定义 left righ 阅读全文
posted @ 2021-08-04 22:49 offer快到碗里来~ 阅读(35) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 4 + 13 / 5,这就是中缀表达式,计算机从左到右去扫描的话,扫到13,还要判断13后面是什么运算法,还要比较一下优先级,然后13还和后面的5做运算,做完运算之后,还要向前回退到 4 的位置,继续做加法 转化为后缀表达式之后:["4", "13", "5", "/", "+ 阅读全文
posted @ 2021-08-04 22:07 offer快到碗里来~ 阅读(23) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 找中点分成两个子链表,对两个子链表排序,合并两个有序链表,dfs形参head得到head链表的有序链表,head为空或head->next为空边界返回,再对dfs返回两个有序链表进行合并, 画图 [image:1628080189374.png][image:162808020 阅读全文
posted @ 2021-08-04 20:39 offer快到碗里来~ 阅读(21) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 画图,链表题画图,原始变量中间变量修改指针修改原始变量,一般开头和结尾容易错,修改指针容易错,原始变量越少越好这道题是ok,中间变量多一点i、pre、cur、nex,结尾的修改指针也很重要 class Solution { public: ListNode* insertion 阅读全文
posted @ 2021-08-04 19:37 offer快到碗里来~ 阅读(30) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 哈希表key2node,双向队列cache存放pair, 对于put,如果key在key2ndoe中提前删除,如果cache等于最大容量maxCapacity提前删除key2node中的cache最后一个和删除cache最后一个,更新cache和key2node,{key,no 阅读全文
posted @ 2021-08-04 17:19 offer快到碗里来~ 阅读(41) 评论(0) 推荐(0)