上一页 1 2 3 4 5 6 7 8 ··· 22 下一页
  2021年8月6日
摘要: 变量简洁正确完整思路 模拟一下,对于const int&a,const int&b return ab>ba, 对于2342 231 2342*1000+231 >231*10000+2342 class Solution { public: string largestNumber(vector< 阅读全文
posted @ 2021-08-06 16:40 offer快到碗里来~ 阅读(37) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 动态规划dpij,左上到右下既需要路径和大,还需要初始生命值小,不满足无后效性,右下到左上,只需关心从ij到n-1m-1 ij需要的最小生命值 精确定义 dpij 从ij到n-1m-1需要的最小初始生命值,dp00是第一个格子,dpn-1n-1是右下 转移 -2 -3 3 -5 阅读全文
posted @ 2021-08-06 16:04 offer快到碗里来~ 阅读(48) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 有多少个0-》2比5多-》有多少个5? 1-24直接+=n/5 25有多少个5?(n)/5+(n)/25 125 625。。。 但是不会超过n,所以如果n在125-625之内 先+=n/5,再+=n/25在+=n/125 也即是+=n/5 +=n/5 /5 +=n/5 /5 / 阅读全文
posted @ 2021-08-06 13:22 offer快到碗里来~ 阅读(31) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 随机找一个数0-n-1的下标i,计数nums[i]是否超过一半 class Solution { public: int majorityElement(vector<int>& nums) { while(1){ int i=rand()%nums.size(); int c 阅读全文
posted @ 2021-08-06 12:55 offer快到碗里来~ 阅读(41) 评论(0) 推荐(0)
  2021年8月5日
摘要: 变量简洁正确完整思路 排序,遍历数组nums更新差值答案ans class Solution { public: int maximumGap(vector<int>& nums) { int n=nums.size(); sort(nums.begin(),nums.end()); int ans 阅读全文
posted @ 2021-08-05 23:12 offer快到碗里来~ 阅读(48) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 cur1cur2同时遍历,两人版本号值为num1num2=0,只要没到.就num1=num1*10+ s[cur1]-'0',cur++,如果cur1或cur2到n1或n2则num1或num2就是0,while中 一旦num1num2不同立刻返回 精确定义 cur1cur2 n 阅读全文
posted @ 2021-08-05 23:11 offer快到碗里来~ 阅读(33) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 cur1cur2指向headAheadB,同步走,一般,有相交,则cur1cur2一个到尾了一个还没有到,此时,到尾的去另一条链,继续同步,后来到尾的也去另一条链,则第二遍必定在交点相遇,因为第一遍,前部分未相交的一条如果多走了一步,则第二遍那条在交点处必定少走了一步,刚刚好 阅读全文
posted @ 2021-08-05 10:08 offer快到碗里来~ 阅读(26) 评论(0) 推荐(0)
摘要: 变量简洁正确完整思路 一个栈stk和一个同步最小栈minStk,当pushstk,val与minStktop比较,较小的push进minStk,当popstk,popminStk,当top时,返回stktop,当getMin时返回minStktop,另外一个思路是只用一个stk,元素是pair<in 阅读全文
posted @ 2021-08-05 09:54 offer快到碗里来~ 阅读(33) 评论(0) 推荐(0)
  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)
上一页 1 2 3 4 5 6 7 8 ··· 22 下一页