做网站联系我们在那个板块里面伊春网站优化
web/
2025/10/6 19:48:52/
文章来源:
做网站联系我们在那个板块里面,伊春网站优化,垣宝建设工程集团网站,远程访问群晖wordpress299. 猜数字游戏
题目描述#xff1a; 你在和朋友一起玩 猜数字#xff08;Bulls and Cows#xff09;游戏#xff0c;该游戏规则如下#xff1a;
写出一个秘密数字#xff0c;并请朋友猜这个数字是多少。朋友每猜测一次#xff0c;你就会给他一个包含下述信息的提示 你在和朋友一起玩 猜数字Bulls and Cows游戏该游戏规则如下
写出一个秘密数字并请朋友猜这个数字是多少。朋友每猜测一次你就会给他一个包含下述信息的提示
猜测数字中有多少位属于数字和确切位置都猜对了称为 “Bulls”公牛 有多少位属于数字猜对了但是位置不对称为 “Cows”奶牛。也就是说这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字。 给你一个秘密数字 secret 和朋友猜测的数字 guess 请你返回对朋友这次猜测的提示。
提示的格式为 “xAyB” x 是公牛个数 y 是奶牛个数A 表示公牛B 表示奶牛。
请注意秘密数字和朋友猜测的数字都可能含有重复数字。
考察重点以一个序数指针遍历两数组当值相等则“公牛”1以一个map记录相同值不同位的情况secret为其加一guess为其减一因此当值不为0时说明匹配成功“奶牛”1。
func getHint(secret string, guess string) string {nMap, sLen, aNum, bNum : make(map[int]int), len(secret), 0, 0 for x : sLen-1; x 0; { /**aNum记录两个数中位数和值都相同的数量bNum记录两个数中值相同但是位数不同的数量1807 7810aNum 1 bNum 3*/if secret[x] guess[x] {aNum} else {tempx, tempy : int(secret[x]-0), int(guess[x]-0) //如果temp是guess中的数则map--否则mapif nMap[tempx] 0 { //当temp是secret中且map[temp]0 说明匹配到了bNum //当temp是guess中且map[temp]0 说明匹配到了}nMap[tempx]if nMap[tempy] 0 {bNum //bNum不能等最后才加因为当map[temp]-1 我们不知道是加了一次减了两次 还是 减了一次}nMap[tempy]--}x--}return strconv.Itoa(aNum) A strconv.Itoa(bNum) B
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88084.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!