当前位置 : 主页 > 编程语言 > java >

287. 寻找重复数

来源:互联网 收集:自由互联 发布时间:2022-08-15
class Solution { public : int findDuplicate ( vector int nums ) { int Left = 1 , Right = nums . size () - 1 ; while ( Left Right ) { int mid = Left + ( Right - Left ) / 2 ; int cnt = 0 ; //nums数组中小于等于mid的数量 for ( int tmp


287. 寻找重复数_数组


287. 寻找重复数_数组_02

 


class Solution {
public:
int findDuplicate(vector<int>& nums) {
int Left=1,Right=nums.size()-1;
while(Left<Right)
{
int mid=Left+(Right-Left)/2;
int cnt=0;//nums数组中小于等于mid的数量
for(int tmp:nums)
if(tmp<=mid)
cnt++;
if(cnt>mid)Right=mid;
else Left=mid+1;
}
return Left;

}
};

 

网友评论