天天看點

qregexp限制數字範圍_劍指 Offer 03. 數組中重複的數字

1. 題目

力扣​leetcode-cn.com

2. 描述

找出數組中重複的數字。

在一個長度為 n 的數組 nums 裡的所有數字都在 0~n-1 的範圍内。數組中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出數組中任意一個重複的數字。

示例 1 輸入 : [2, 3, 1, 0, 2, 5, 3] 輸出 :2 或 3 限制

2 <= n <= 100000

3. 實作方法

3.1 方法 1

3.1.1 思路

  1. 定義一個集合

    set

    來存放數組中出現過但不重複的數組;
  2. 然後對數組中的元素進行判斷,若

    set

    中不含有,則加入

    set

  3. set

    中已有該元素,則說明該元素是數組中重複出現的元素;
  4. 列印該元素即可;
  5. 主要是對數組進行周遊操作,是以時間複雜度為 ​;

3.1.2 實作

public int findRepeatNumber(int[] nums) {
     Set<Integer> set = new HashSet<>();
     int resutl = 0;
     set.add(nums[0]);
     for (int i = 1; i < nums.length; i++) {
         if (set.contains(nums[i])) {
             resutl = nums[i];
         } else {
             set.add(nums[i]);
         }
     }
     return resutl;
 }
           
qregexp限制數字範圍_劍指 Offer 03. 數組中重複的數字

繼續閱讀