給你乙個整數陣列arr
,請你幫忙統計陣列中每個數的出現次數。
如果每個數的出現次數都是獨一無二的,就返回true
;否則返回false
。
輸入:arr = [1,2,2,1,1,3]
輸出:true
解釋:在該陣列中,1 出現了 3 次,2 出現了 2 次,3 只出現了 1 次。沒有兩個數的出現次數相同。
輸入:arr = [1,2]
輸出:false
輸入:arr = [-3,0,1,-3,1,1,1,-3,10,0]
輸出:true
/**
* @param arr
* @return
*/var uniqueoccurrences = function(arr) )
var keys = object.keys(hashtable);
var values = object.values(hashtable);
return keys.length === [...new set(values)].length;
};
使用雜湊表記錄每個數字出現的次數,之後使用set
處理出現的次數,然後對比雜湊表的長度即可,首先定義乙個雜湊表,在此處是使用js
的普通物件的形式,此處只是為了借助其結構所以不需要原型指向,另外在js
中提供了map
物件作為鍵值對雜湊表的解決方案,之後遍歷陣列,如果未定義,那麼就將雜湊表的此鍵值的值設定為1
,如果鍵值在雜湊表中定義,那麼就將其值加1
,之後獲取物件中所有的鍵陣列,以及所有的值陣列,之後將值陣列作為引數傳入set
物件去重,之後用spread
操作符將其展開並形成乙個新陣列,之後獲取其長度與鍵陣列的長度作比較並返回即可。
獨一無二的出現次數
給你乙個整數陣列 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 次。沒有兩個數的出現次...
1207 獨一無二的出現次數
給你乙個整數陣列 arr,請你幫忙統計陣列中每個數的出現次數。如果每個數的出現次數都是獨一無二的,就返回 true 否則返回 false。示例 1 輸入 arr 1,2,2,1,1,3 輸出 true 解釋 在該陣列中,1 出現了 3 次,2 出現了 2 次,3 只出現了 1 次。沒有兩個數的出現次...