![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode每日一题
CPU NULL
算法高深莫测,人生如逆旅,我亦是行人
展开
-
【LeetCode每日一题】搜索旋转排序数组
如果是[l,mid]有序,如果target在区间内,就在[l,mid-1]查找。如果是[mid+1,r]有序,target在区间内,就在[mid+1,r]查找。以4 5 6 7 0 1 2为例,发现将数组分割成两半后,总存在一边是有序。因为没有重复元素,只要找到那个数就可以return了。nums[mid]的值等于target,return。,有序的那一部分可以使用二分。否则在[mid+1,r]查找。否则在[l,mid-1]查找。不相等的时候继续查找。原创 2024-08-01 22:35:01 · 56 阅读 · 0 评论 -
【LeetCode每日一题】长度最小的子数组
如何寻找target呢,要寻找sums[r]-sums[l-1]>=target,移项得sums[r]>=target+sums[l-1],也就是在数组中寻找sums[r]这样得数,使他大于等于target+sum[l-1]。因为是寻找长度最小的子数组,当sum>=target时,记录长度,然后i要向右移动,当sum<target时j继续移动,寻找下一个sum>=target的条件。设置两个指针i和j,j一直向右移动,i符合条件才移动。二分,前缀和,滑动窗口,双指针。网友的理解方式通俗易懂。原创 2024-08-01 11:08:37 · 97 阅读 · 0 评论