雜湊 簡單 1207 獨一無二的出現次數

2021-10-21 07:26:11 字數 1918 閱讀 4573

【題目】

給你乙個整數陣列 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

【**】

【python】

【方法1】

執行用時:

44 ms, 在所有 python3 提交中擊敗了74.81%的使用者

記憶體消耗:

14.8 mb, 在所有 python3 提交中擊敗了67.13%的使用者

class

solution

:def

uniqueoccurrences

(self, arr: list[

int])-

>

bool

: cnt=

dict

(counter(arr)

) freq=

dict()

for key in cnt:

freq[cnt[key]

]=freq.setdefault(cnt[key],0

)+1if freq[cnt[key]

]>1:

return

false

return

true

【方法2】

class

solution

:def

uniqueoccurrences

(self, arr: list[

int])-

>

bool

: cnt=

dict()

for a in arr:

cnt[a]

=cnt.setdefault(a,0)

+1freq=

dict()

for key in cnt:

freq[cnt[key]

]=freq.setdefault(cnt[key],0

)+1if freq[cnt[key]

]>1:

return

false

return

true

【方法3】

class

solution

:def

uniqueoccurrences

(self, arr: list[

int])-

>

bool

: cnt=

dict()

for a in arr:

cnt[a]

=cnt.setdefault(a,0)

+1cnt=

dict

(sorted

(cnt.items(

),key=

lambda x:x[1]

))f=

0for key in cnt:

if cnt[key]

<=f:

return

false

f=cnt[key]

return

true

1207 獨一無二的出現次數 簡單

題目 於力扣 leetcode 目錄三 實現 四 執行用時 五 部分測試用例 1207.獨一無二的出現次數 遍歷 arr 陣列,用雜湊表記錄下每個陣列元素出現的次數 遍歷雜湊表,通過map.containsvalue 方法判斷雜湊表中的值是否存在重複 判斷前,需要將本次遍歷的值修改為 0 遍歷 ar...

1207 獨一無二的出現次數

給你乙個整數陣列 arr,請你幫忙統計陣列中每個數的出現次數。如果每個數的出現次數都是獨一無二的,就返回 true 否則返回 false。示例 1 輸入 arr 1,2,2,1,1,3 輸出 true 解釋 在該陣列中,1 出現了 3 次,2 出現了 2 次,3 只出現了 1 次。沒有兩個數的出現次...

1207 獨一無二的出現次數

給你乙個整數陣列 arr,請你幫忙統計陣列中每個數的出現次數。如果每個數的出現次數都是獨一無二的,就返回 true 否則返回 false。示例 1 輸入 arr 1,2,2,1,1,3 輸出 true 解釋 在該陣列中,1 出現了 3 次,2 出現了 2 次,3 只出現了 1 次。沒有兩個數的出現次...