[劍之offer] 03 陣列中重複的數字
一、問題
1、在一個長度為 n 的陣列 nums 裡的所有數字都在 0~n-1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意一個重複的數字。
2、例子
輸入:[2, 3, 1, 0, 2, 5, 3]
輸出:2 或 3
3、限制
2 <= n <= 100000
package com.haoxiansheng.demo01.SwordfingerOffer;
import lombok.extern.slf4j.Slf4j;
import java.util.HashSet;
import java.util.Set;
/**
* @author flame
* @data 2020/10/13
*/
@Slf4j
public class FindRepeatNumber {
public static void main(String[] args) {
int[] ints = {1, 2, 3, 1, 3, 4, 5, 6, 6, 3, 7};
log.info("findRepeatNumber=>{}", findRepeatNumber(ints));
log.info("findRepeatNumbers=>{}", findRepeatNumbers(ints).toString());
}
/**
* 找出任意重複的數字
*
* @param nums
* @return
*/
public static int findRepeatNumber(int[] nums) {
Set<Integer> temp = new HashSet<>();
int repeat = -1;
for (int num : nums) {
if (!temp.add(num)) {
repeat = num;
break;
}
}
return repeat;
}
/**
* 找出所有重複的 數字
*
* @param nums
* @return
*/
public static Set<Integer> findRepeatNumbers(int[] nums) {
Set<Integer> result = new HashSet<>();
Set<Integer> temp = new HashSet<>();
for (int num : nums) {
if (!temp.add(num)) {
result.add(num);
}
}
return result;
}
}
相關文章
- Leetcode 劍指 Offer 03. 陣列中重複的數字LeetCode陣列
- 劍指Offer--陣列中重複的數字陣列
- 劍指offer刷題之路--1.陣列中重複的數字陣列
- 陣列中重複的數字陣列
- 劍指offer:旋轉陣列的最小數字陣列
- 劍指offer 旋轉陣列的最小數字陣列
- JZ-050-陣列中重複的數字陣列
- 劍指 Offer 56 - I. 陣列中數字出現的次數陣列
- 劍指offer-轉陣列的最小數字-php陣列PHP
- 【劍指offer】7.旋轉陣列的最小數字陣列
- 【劍指 Offer】11. 旋轉陣列的最小數字陣列
- 劍指 Offer 11. 旋轉陣列的最小數字陣列
- 劍指Offer-39-數字在排序陣列中出現的次數排序陣列
- 劍指OFFER-數字在升序陣列中出現的次數(Java)陣列Java
- 劍指offer之列印超過陣列一半的數字陣列
- 劍指offer之順序列印陣列陣列
- 劍指Offer-把陣列中的數排成一個最小的數陣列
- #442-Find All Duplicates in an Array-陣列中重複的數字陣列
- [每日一題] 第十九題:陣列中重複的數字每日一題陣列
- (python版)《劍指Offer》JZ06:旋轉陣列的最小數字Python陣列
- 【劍指offer】二維陣列中的查詢陣列
- 劍指Offer-34-把陣列排成最小的數陣列
- 劍指offer——把陣列排成最小的數C++陣列C++
- 劍指Offer-37-陣列中逆序對陣列
- 每日一題 - 劍指 Offer 53 - I. 在排序陣列中查詢數字 I每日一題排序陣列
- 劍指 offer(1) -- 陣列篇陣列
- 【劍指offer】【1】二維陣列中的查詢陣列
- 劍指offer——陣列中的逆序對C++(75%)陣列C++
- java陣列中重複元素的去重Java陣列
- [劍指offer題解][Java]陣列中出現次數超過一半的數字Java陣列
- Leetcode 劍指 Offer 39. 陣列中出現次數超過一半的數字LeetCode陣列
- 二維陣列中的查詢——牛客劍指offer陣列
- 劍指 Offer 04. 二維陣列中的查詢陣列
- 劍指Offer-連續子陣列中的最大和陣列
- 力扣 - 劍指 Offer 39. 陣列中出現次數超過一半的數字力扣陣列
- 力扣 - 劍指 Offer 45. 把陣列排成最小的數力扣陣列
- [PHP] 演算法-陣列重複數字統計的PHP實現PHP演算法陣列
- 劍指 offer 第一題: 二維陣列中的查詢陣列