:
給你乙個整數陣列 arr,請你幫忙統計陣列中每個數的出現次數。
如果每個數的出現次數都是獨一無二的,就返回 true;否則返回 false。
示例 1:
輸入:arr = [1,2,2,1,1,3]
輸出:true
解釋:在該陣列中,1 出現了 3 次,2 出現了 2 次,3 只出現了 1 次。沒有兩個數的出現次數相同。
示例 2:
輸入:arr = [1,2]
輸出:false
示例 3:
輸入:arr = [-3,0,1,-3,1,1,1,-3,10,0]
輸出:true
1 <= arr.length <= 1000
-1000 <= arr[i] <= 1000
使用map統計不同元素的出現數目,再次使用雜湊表統計不同元素出現次數的數目,如果不同元素出現次數的數目與不同元素數目相同則返回true,否則返回false
class
solution
// 2. 使用set判斷元素出現次數有無重複,如果重複則元素出現次數的數目不等於數字數目
setset =
newhashset
<
>()
;for
(map.entry
x : map.
entryset()
)return set.
size()
== map.
size()
;}}
根據題目提示可以知道陣列中元素的大小範圍,也可以知道每個元素出現次數的範圍,因此可以使用陣列代替雜湊表。
class
solution
// 2.乙個數字最多出現1000次,定義乙個陣列記錄某個元素出現次數的出現次數
int[
] counter2 =
newint
[1000];
for(
int i =
0; i <
2001
; i++
)// 3. 如果出現次數的次數大於2則返回false
for(
int i =
0; i <
1000
; i++
)return
true;}
}
LeetCode1207 獨一無二的出現次數
1207.獨一無二的出現次數 給你乙個整數陣列 arr,請你幫忙統計陣列中每個數的出現次數。如果每個數的出現次數都是獨一無二的,就返回 true 否則返回 false。示例 1 輸入 arr 1,2,2,1,1,3 輸出 true 解釋 在該陣列中,1 出現了 3 次,2 出現了 2 次,3 只出現...
LeetCode 1207 獨一無二的出現次數
給你乙個整數陣列arr,請你幫忙統計陣列中每個數的出現次數。如果每個數的出現次數都是獨一無二的,就返回true 否則返回false。示例 1 輸入 arr 1,2,2,1,1,3 輸出 true 解釋 在該陣列中,1 出現了 3 次,2 出現了 2 次,3 只出現了 1 次。沒有兩個數的出現次數相同...
leetcode1207 獨一無二的出現次數
給你乙個整數陣列 arr,請你幫忙統計陣列中每個數的出現次數。如果每個數的出現次數都是獨一無二的,就返回 true 否則返回 false。示例 1 輸入 arr 1,2,2,1,1,3 輸出 true 解釋 在該陣列中,1 出現了 3 次,2 出現了 2 次,3 只出現了 1 次。沒有兩個數的出現次...