leetcode
creepy_ss
这个作者很懒,什么都没留下…
展开
-
算法LinkedList系列1
Add Two Numbers 需要注意的点是当两个数相加大于等于10时:1如果发生在list中间,则将该数加入下一步运算(这一步在3个while loop里都体现)。2发生在list已经跑完了,要注意check其是否不为0,如果满足,则要新建node将其加入list。 class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode dummyHead = new ListNo.原创 2020-05-24 14:41:02 · 117 阅读 · 0 评论 -
算法binary search系列3
Longest Increasing Subsequence The main idea is that we construct and update the LIS. To make this sequence longer, we need to substitute bigger number to smaller one.(如果当前元素没有比现在数组里最大的元素大的话,不会增加数组长度,我们要做的是用binary search,将该元素夹单,然后,将返回的right有该元素代替,这样使我们数组里.原创 2020-05-24 13:41:10 · 109 阅读 · 0 评论 -
算法binary search系列2
Search in Rotated Sorted Array II rotated数组里出现重复的情况。比起没有重复的数组,这里需要比较nums[low]与nums[mid],如果两者相同则需要low++,向右移动。同理nums[high],比较后如果相同则high–,向左移动。直到两个数不相同,然后情况就跟 Search in Rotated Sorted Array l是一样的了。 class Solution { public boolean search(int[] nums, int .原创 2020-05-21 08:11:13 · 119 阅读 · 0 评论 -
算法binary search系列1
33. Search in Rotated Sorted Array 要分六种情况: 1,当num[mid] > target时需要注意mid的值落在左边线段,而targe的值在右边线段。这个时候虽然num[mid] > target,但是应该是left的边界移动到mid那里。 2,同理,num[mid] < target时注意mid落在右边线段,而target在左边线段上,这时要将right边界移动到mid那里。 3,其他情况,如果mid和target都落到左边线段和右边线段,则跟普原创 2020-05-20 10:01:21 · 156 阅读 · 0 评论