其他分享
首页 > 其他分享> > 1941 检查是否所有字符出现次数相同

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

作者:互联网

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

示例 1:
输入:s = “abacbc”
输出:true
解释:s 中出现过的字符为 ‘a’,‘b’ 和 ‘c’ 。s 中所有字符均出现 2 次。

示例 2:
输入:s = “aaabb”
输出:false
解释:s 中出现过的字符为 ‘a’ 和 ‘b’ 。
‘a’ 出现了 3 次,‘b’ 出现了 2 次,两者出现次数不同。

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

方法1:
主要思路:解题链接汇总
(1)直接使用数组统计每个字符出现的次数;
(2)然后判断出现过的字符的个数是否相同;

class Solution {
public:
    bool areOccurrencesEqual(string s) {
        if(s.size()<2){
            return true;
        }
        vector<int> signs(26,0);
        for(char ch:s){
            signs[ch-'a']++;
        }
        int count=-1;
        for(int i=0;i<26;i++){
            if(signs[i]==0){
                continue;
            }
            if(count==-1){
                count=signs[i];
            }else if(count!=signs[i]){
                return false;
            }
        }
        return true;
    }
};

go语言实现

func areOccurrencesEqual(s string) bool {
    if len(s)<2 {
        return true
    }
    signs := make([]int,26)
    for _,ch := range s {
        signs[ch-'a']++
    }
    count := -1
    for i:=0;i<26;i++ {
        if signs[i]==0 {
            continue
        }
        if count==-1 {
            count=signs[i]
        }else if count!=signs[i] {
            return false
        }
    }
    return true
}

标签:count,字符,return,1941,次数,signs,false,true
来源: https://blog.csdn.net/weixin_44171872/article/details/119236687