二分查找
二分查找专题
LC287 寻找重复数
class Solution { public int findDuplicate(int[] nums) { //抽屉原理二分 int left=0,right=nums.length-1; while (left<right){ int mid=left+(right-left)/2; int count=0; for(int i=0;i<nums.length;i++){ if(nums[i]<=mid){ count++; } } if(count>mid){ right=mid; }else { left=mid+1; } } return left; } }

浙公网安备 33010602011771号