牛客283182957号
牛客283182957号
全部文章
分类
题解(51)
归档
标签
去牛客网
登录
/
注册
牛客283182957号的博客
全部文章
(共52篇)
题解 | #旋转数组的最小数字#
其实也就是分三种情况就是重点值大于小于等于last值,这是建立在数组有序的基础上,就算是两段,也是局部有序的。 0.二分法之后的中点要跟一个锚点比较用于下一次更新mid,本题中锚点只能选择右端点,因为题目旋转是向右旋转的不管是否旋转到尾部(旋转的数多或旋转点靠前) 情况1,arr[mid] &g...
C++
2022-06-08
0
282
题解 | #寻找峰值#
1.** 因为题目将数组边界看成最小值**,而我们只需要找到其中一个波峰,因此只要不断地往高处走,一定会有波峰。那我们可以每次找一个标杆元素,将数组分成两个区间,每次就较高的一边走,因此也可以用分治来解决,而标杆元素可以选择区间中点。 假设 nums[-1] = nums[n] = −∞这个条件也...
C++
2022-06-07
0
213
题解 | #二维数组中的查找#
四种解法时间复杂度及代码复杂程度各不同https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e?tpId=295&tqId=23256&ru=/exam/oj&qru=/ta/format-top10...
C++
2022-06-07
0
211
题解 | #二分查找-I#
step 1:从数组首尾开始,每次取中点值。 step 2:如果中间值等于目标即找到了,可返回下标,如果中点值大于目标,说明中点以后的都大于目标,因此目标在中点左半区间,如果中点值小于目标,则相反。 step 3:根据比较进入对应的区间,直到区间左右端相遇,意味着没有找到。
C++
2022-06-07
0
195
题解 | #单链表的排序#
https://www.nowcoder.com/practice/f23604257af94d939848729b1a5cda08?tpId=295&tqId=1008897&ru=/exam/oj&qru=/ta/format-top101/question-rankin...
C++
2022-06-06
0
207
题解 | #链表相加(二)#
1.判断一个加入为空,直接返回另一个作为最终结果 2.从个位对齐,两个链表指针都要从末尾开始一起向前移动。故反转链表 3.相加。相加的过程中,任意一个链表有值,或者有进位都要继续进行相加,故注意循环的条件。 4.相加细节。补零。如果当前p1或p2(即p1head、p2head)中的一个没有加到头,另...
C++
2022-06-05
0
281
题解 | #两个链表的第一个公共结点#
0.理论上逐个比较p1(p2)中的地址直到和p2中的某个相同或者到尾结点。时间复杂度太高 1.计算p1和p2的长度 较长的先行|p1-p2|步 然后同时走 2.此时,从较短链表的长度起点一起开始走,当走到相同的位置(地址相同)停止,如果不满足就一直走即while(p1!=p2),或者任意一方走到头,...
C++
2022-06-05
0
218
题解 | #链表中环的入口结点#
1,找环的时候要点,快慢指针终会在环内某一“随机”位置相遇 2 。, 详见https://blog.nowcoder.net/n/4994b875bb9a48fe8dded2e0b4e6add3
C++
2022-06-02
0
287
题解 | #合并k个已排序的链表#
C++
2022-06-01
0
173
题解 | #合并两个排序的链表#
C++
2022-05-31
0
174
首页
上一页
1
2
3
4
5
6
下一页
末页