龙空技术网

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

每天都AC 53

前言:

如今大家对“c语言 判断字符相等”都比较珍视,朋友们都需要学习一些“c语言 判断字符相等”的相关资讯。那么小编也在网上搜集了一些关于“c语言 判断字符相等””的相关资讯,希望朋友们能喜欢,朋友们一起来了解一下吧!

题目

给你一个字符串 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、遍历;时间复杂度O(n),空间复杂度O(1)

func areOccurrencesEqual(s string) bool {	m := make(map[byte]int)	for i := 0; i < len(s); i++ {		m[s[i]]++	}	count := 0	for _, v := range m {		if count == 0 {			count = v		} else {			if count != v {				return false			}		}	}	return true}

2、遍历;时间复杂度O(n),空间复杂度O(1)

func areOccurrencesEqual(s string) bool {   m := make(map[byte]int)   for i := 0; i < len(s); i++ {      m[s[i]]++   }   count := len(s) / len(m)   for _, v := range m {      if v != count {         return false      }   }   return true}
总结

Easy题目,借助map统计遍历即可

标签: #c语言 判断字符相等