本文主要是介绍每日一题(leetcode287):寻找重复数--二分查找+思维,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思路:看官方解答
class Solution {
public:int findDuplicate(vector<int>& nums) {int n=nums.size();int left=1;int right=n-1;int ans=-1;while(left<=right){int mid=(left+right)/2;int count=0;for(int j=0;j<n;j++){if(nums[j]<=mid){count++;}}if(count<=mid){left=mid+1;}else{right=mid-1;ans=mid;}}return ans;}
};
这篇关于每日一题(leetcode287):寻找重复数--二分查找+思维的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!