题目描述:给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。
今日学习:
1.快慢指针思想
2.tls、https、ssl
题解1:暴力法
var findDuplicate = function(nums) {
//我爱暴力法
for(num of nums){
if(nums.indexOf(num) != nums.lastIndexOf(num)){
return num
}
}
};
题解2:快慢指针
var findDuplicate = function(nums) {
//研究别的方法,没研究出来,还是参考了人家的快慢指针
let s = f = 0
while (1) {
s = nums[s]
f = nums[nums[f]]
if (s === f) {
f = 0
while (s !== f) {
f = nums[f]
s = nums[s]
}
return s
}
}
};
更多题解参考leetcode官方题解