柴崎越
柴崎越
全部文章
分类
Leetcode(85)
代码总结(4)
毕业设计(18)
归档
标签
去牛客网
登录
/
注册
ccy的博客
学习
TA的专栏
21篇文章
0人订阅
代码总结
21篇文章
877人学习
全部文章
(共7篇)
Leetcode 209 长度最小的子数组
解析 两种解法,双指针,和二分查找 代码 双指针 public int minSubArrayLen(int s, int[] nums) { if(nums.length==0) return 0; int min=Integer.MAX_VALUE; int le...
二分查找
双指针
Leetcode
2020-04-10
0
552
Leetcode 162 寻找峰值
题目 代码分析 题目要求时间复杂度带有log,表明要使用到二分查找。 代码实现 public static int findPeakElement(int[] nums) { int start=0; int end=nums.length-1; w...
二分查找
Leetcode
2020-02-07
0
595
Leetcode 154 寻找旋转排序数组中的最小值
题目 代码分析 需要考虑的情况比较多,只要是start,end,mid之间两两相等或者是全部相等的情况。该逻辑的位置,应该在普通情况判断的后面,其次就是这种情况的种类,分为四种 33333123 33333453 34533333 31233333代码实现 class Solution { p...
二分查找
Leetcode
2020-02-06
0
599
Leetcode 153 寻找旋转排序数组中的最小值
题目 代码分析 需要注意特殊情况,本身就是有序的,通过二分查找 代码实现 class Solution { public int findMin(int[] nums) { int start=0; int end=nums.length-1; ...
二分查找
Leetcode
2020-02-06
0
490
Leetcode 4 寻找两个有序数组的中位数(还有一种解法没有学习)
题目 代码分析 要达到有log的时间复杂度,可以想到一定和二分有关系,我们的普通做法就是每次都从两个数组的头出去一个,当出去总量的一半之后,就完成了。这里我们每次都出一半,具体的,如果两个数组的总量是14,我们要找了就是第7小和第8小的数字,对于第7小的,我们首先要找第7/2=3小的数字,这就是这道...
二分查找
动态规划
Leetcode
2020-02-06
0
640
Leetcode33 搜索旋转排序数组
题目 分析 尽可能的使用二分查找,在细节方面start<=end.如果中间恰好是的话就直接返回位置了如果start,end,mid三个位置的值是相等的话,就要分为两种情况进行讨论了,无非就是如下 4 4 4 4 1 2 4 4 1 2 4 4 4 4 也就是最低点在哪儿的不同。如下 如果sta...
二分查找
Leetcode
2019-12-30
0
492
Leetcode 35 搜索插入位置
题目 分析 二分查找的变种,一般的二分查找都是将等于,小于,大于,分为三个判断的分支,变种的话,就是将等于放入到大于或者小于中,这两种最后也是不同的。首先是判断的条件,肯定是start<=end,肯定有等于号。将等于和大于算作是一种情况。最后返回的是start 代码总结 public clas...
二分查找
Leetcode
2019-12-30
0
524