天天看點

力扣第1207題:獨一無二的出現次數學習目标:學習内容:學習時間:學習産出:

學習目标:

力扣第1207題:獨一無二的出現次數

學習内容:

給你一個整數數組 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

來源:力扣(LeetCode)

連結:https://leetcode-cn.com/problems/unique-number-of-occurrences

著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。

學習時間:

2020年10月28日

學習産出:

/*
*将數組中的數存進HashMap中,由于HashMap沒有重複鍵的特點,
*當循環後map遇到了重複鍵,就将value的值加一,然後将map中的值存入TreeSet,
*Treeset無法有重複的元素,将set的size與map的size比較,
*相同則說明所有數出現的次數都不一樣,不相同則有出現次數相同的數
*/
HashMap<Integer, Integer> map=new HashMap<Integer, Integer>();
	for(int x:arr) {
		if(map.containsKey(x)) {
			map.put(x, map.get(x)+1);
		}else {
			map.put(x, 1);
		}
	}
	TreeSet<Integer> set = new TreeSet<>(map.values());
	if(map.size()==set.size()) {
		return true;
	}
	return false;