「每日LeetCode」2021年7月26日

本文最后更新于:2023年3月19日 晚上

Lt1941. 检查是否所有字符出现次数相同

1941. 检查是否所有字符出现次数相同

给你一个字符串 s ,如果 s 是一个 字符串,请你返回 true ,否则请返回 false
如果 s 中出现过的 所有 字符的出现次数 相同 ,那么我们称字符串 s 字符串。
示例 1:

1
2
3
输入:s = "abacbc"
输出:true
解释:s 中出现过的字符为 'a''b''c' 。s 中所有字符均出现 2 次。

示例 2:

1
2
3
4
输入:s = "aaabb"
输出:false
解释:s 中出现过的字符为 'a''b'
'a' 出现了 3 次,'b' 出现了 2 次,两者出现次数不同。

提示:

  • 1 <= s.length <= 1000
  • s 只包含小写英文字母。

思路

map 记录,set 去重看 size 是否等于 1 即可。

解答

1
2
3
4
5
6
7
8
9
10
11
12
/**
* @param {string} s
* @return {boolean}
*/
var areOccurrencesEqual = function (s) {
const map = {};
for (const char of s) {
if (map[char]) map[char]++;
else map[char] = 1;
}
return new Set(Object.values(map)).size === 1;
};