题目:给定字符串A、B,B为A排序后的结果,设计一算法验证A、B内容是否一致。
要求:
-
大小写为不同字符(考虑空格对算法精度的影响)。
-
输入字符串A、B,返回bool,true为相同,false为不同。
-
字符串A、B长度小于或等于5000。
解答:先验证字符串A、B长度小于或等于5000,之后只需要循环遍历B中的字符在A中是否都存在。
案例如下:
package main
import "strings"
func ABIsSame(strA, strB string) bool {
ARune, BRune := []rune(strA), []rune(strB)
if len(ARune) > 5000 || len(BRune) > 5000 || len(ARune) != len(BRune) {
return false
}
for _, val := range BRune {
if strings.Count(strB, string(val)) != strings.Count(strA, string(val)) {
return false
}
}
return true
}
上述代码核心是用Golang内置方法strings.Count验证字符是否⼀致。
题目:设计⼀个算法判断字符串中所有字符【是否全都不同】。指定⼀个string,返回bool,true意为所有字符全都不相同,false意为存在相同字符,字符串必须为ASCII字符,字符串长度小于或等于3000。
要求:不允许使⽤额外的存储结构。
要点分析:
-
ASCII字

最低0.47元/天 解锁文章
1049

被折叠的 条评论
为什么被折叠?



