add: 寻找重复数

This commit is contained in:
2020-05-26 23:27:04 +08:00
parent 3770b30040
commit 6098f48863
3 changed files with 35 additions and 0 deletions

View File

@ -0,0 +1,24 @@
/**
* @param {number[]} nums
* @return {number}
*/
export const findDuplicate = function (nums) {
const len = nums.length
let l = 0; let r = len - 1; let res = -1 // 数字都在1-n
while (l <= r) {
const mid = (l + r) >> 1
let cnt = 0
for (let i = 0; i < len; i++) {
cnt += nums[i] <= mid // true = 1满足条件才计数
}
if (cnt <= mid) {
l = mid + 1
} else {
r = mid - 1
res = mid
}
}
return res
}