LeetCode #287 寻找重复数
Posted 三笠·阿卡曼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode #287 寻找重复数相关的知识,希望对你有一定的参考价值。
题目
给定一个包含 n + 1 个整数的数组 nums ,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。
假设 nums 只有 一个重复的整数 ,找出 这个重复的数 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-the-duplicate-number
示例
代码
- 利用Map实现
class Solution {
public int findDuplicate(int[] nums) {
Map<Integer,Integer> map = new HashMap<>();
for(int i=0;i<nums.length;i++){
if (map.containsKey(nums[i])) {
return nums[i];
}
map.put(nums[i], i);
}
return 0;
}
}
- 利用Set实现
class Solution {
public int findDuplicate(int[] nums) {
Set<Integer> set = new HashSet<>();
for (int num : nums) {
if (set.contains(num)) {
return num;
}else{
set.add(num);
}
}
return -1;
}
}
以上是关于LeetCode #287 寻找重复数的主要内容,如果未能解决你的问题,请参考以下文章