第八周:
代码:
leetcode:154
public static int findMin(int[] nums) {
int left=0;
int right=nums.length-1;
while(left<right){//规律:最右边<最左边
int mid=(left+right)/2;
if(nums[mid]>nums[right]){//在小的部分
left=mid+1;
}else if(nums[mid]<nums[right]){
right=mid;
}else
--right;
}
return nums[left];
}
Leetcode:3
public static int lengthOfLongestSubstring(String s){
char[] str=s.toCharArray();
int[] sArr=new int[128];//字典
int left=0,right=0;
int res=0;
while(right<s.length()){//滑动窗口
int index=str[right];
right++;
sArr[index]++;
while(sArr[index]>1){//和上一题条件一样
sArr[str[left]]--;
left++;
}
res=Math.max(right-left,res);
}
return res;
}
笔记
!