找出陣列中重複的數字。
在乙個長度為 n 的陣列 nums 裡的所有數字都在 0~n-1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。
示例 1:
輸入:[2, 3, 1, 0, 2, 5, 3]
輸出:2 或 3
限制:2 <= n <= 100000
class
solution
return repeat;
}}
複雜性分析
時間複雜度:o(n)o(n)。
遍歷陣列一遍。使用雜湊集合(hashset),新增元素的時間複雜度為 o(1)o(1),故總的時間複雜度是 o(n)o(n)。
空間複雜度:o(n)o(n)。
不重複的每個元素都可能存入集合,因此占用 o(n)o(n) 額外空間。
劍指offer系列 陣列中逆序對
題目描述 輸入乙個陣列,求出其中逆序對的總個數 示例 輸入 逆序對有,幾種情況 因此輸出5 分析 利用歸併排序的思想進行排序,時間複雜度o nlgn int inversepairscore vector nums,vector copy,int begin,int end int mid begi...
劍指offer 二維陣列中查詢 03
include include 注意知識點 1.當問題比較複雜時,應該通過具體的例子找到規律 2.二維陣列中,應該通過行號和列號計算出相對於陣列首位址的偏移量 3.注意函式中的陣列引數怎麼定義,怎麼傳引數,又是怎麼取元素的 4.注意二維陣列的定義 居然都忘了 自己寫的,驗證沒問題 bool find...
劍指offer03 陣列中重複的數字
在乙個長度為 n 的陣列 nums 裡的所有數字都在 0 n 1 的範圍內。陣列中某些數字是重複的,但不知道有幾個數字重複了,也不知道每個數字重複了幾次。請找出陣列中任意乙個重複的數字。示例 1 輸入 2,3,1,0,2,5,3 輸出 2 或 3限制 2 n 100000 首先拿到這道題最先想到的是...