2423.删除字符使频率相同
【LetMeFly】2423.删除字符使频率相同
力扣题目链接:https://leetcode.cn/problems/remove-letter-to-equalize-frequency/
给你一个下标从 0 开始的字符串 word
,字符串只包含小写英文字母。你需要选择 一个 下标并 删除 下标处的字符,使得 word
中剩余每个字母出现 频率 相同。
如果删除一个字母后,word
中剩余所有字母的出现频率都相同,那么返回 true
,否则返回 false
。
注意:
- 字母
x
的 频率 是这个字母在字符串中出现的次数。 - 你 必须 恰好删除一个字母,不能一个字母都不删除。
示例 1:
输入:word = "abcc" 输出:true 解释:选择下标 3 并删除该字母,word 变成 "abc" 且每个字母出现频率都为 1 。
示例 2:
输入:word = "aazz" 输出:false 解释:我们必须删除一个字母,所以要么 "a" 的频率变为 1 且 "z" 的频率为 2 ,要么两个字母频率反过来。所以不可能让剩余所有字母出现频率相同。
提示:
2 <= word.length <= 100
word
只包含小写英文字母。
方法一:模拟
首先开辟一个大小为26的数组
接着用
如果遍历完也没有返回
怎么判断非零bin的值是否全部相等呢?使用一个变量
- 如果
非零,就看 是否为- 如果
为 ,就令 - 否则若
,就返回
- 如果
若遍历完未返回
- 时间复杂度
,其中 - 空间复杂度
AC代码
C++
C++时间击败100%,空间击败93.22%嘿嘿,没有使用自带哈希表
1 |
|
Python
1 |
|
同步发文于CSDN,原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/130440474
2423.删除字符使频率相同
https://blog.letmefly.xyz/2023/04/29/LeetCode 2423.删除字符使频率相同/