全字母句 指包含英语字母表中每个字母至少一次的句子。给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句 。如果是,返回 true ;否则,返回 false 。
来源:力扣(LeetCode)
示例
输入:sentence = “thequickbrownfoxjumpsoverthelazydog”
输出:true
解释:sentence 包含英语字母表中每个字母至少一次。
输入:sentence = “leetcode”
输出:false
提示
1 <= sentence.length <= 1000
sentence 由小写英语字母组成
解析
英语字母一共26个,我们先开辟一个26个大小的Array,统计每个字母的出现次数,如果有出现0次的直接返回false。这里开辟26个大小需要计算小写字母相对于‘a’的偏移量,最大偏移量为26。
上算法
func checkIfPangram(sentence string) bool {
//记录小写字母出现次数
var charcount [26]int
for i := 0; i < len(sentence); i++ {
//记录小写字母相对'a'的偏移量,具体请看ascii表,每个字母对应唯一一个ascii十进制值
charcount[sentence[i]-'a'] += 1
}
for k := 0; k < len(charcount); k++ {
if charcount[k] <= 0 {
return false
}
}
return true
}