18行代码AC-Leecode 299. 猜数字游戏——Leecode每日一题系列
今天是坚持每日一题打卡的第十三天
题目链接:https://leetcode-cn.com/problems/bulls-and-cows/
题解汇总:https://zhanglong.blog.csdn.net/article/details/121071779
题目描述
你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下:
写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个包含下述信息的提示:
猜测数字中有多少位属于数字和确切位置都猜对了(称为 “Bulls”, 公牛),
有多少位属于数字猜对了但是位置不对(称为 “Cows”, 奶牛)。也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字。
给你一个秘密数字 secret 和朋友猜测的数字 guess ,请你返回对朋友这次猜测的提示。提示的格式为 “xAyB” ,x 是公牛个数, y 是奶牛个数,A 表示公牛,B 表示奶牛。
请注意秘密数字和朋友猜测的数字都可能含有重复数字。
示例 1:
输入: secret = “1807”, guess = “7810”
输出: “1A3B”
解释: 数字和位置都对(公牛)用 ‘|’ 连接,数字猜对位置不对(奶牛)的采用斜体加粗标识。
“1807”
|
“7810”示例 2:
输入: secret = “1123”, guess = “0111”
输出: “1A1B”
解释: 数字和位置都对(公牛)用 ‘|’ 连接,数字猜对位置不对(奶牛)的采用斜体加粗标识。
“1123” “1123”
| or |
“0111” “0111”
注意,两个不匹配的 1 中,只有一个会算作奶牛(数字猜对位置不对)。通过重新排列非公牛数字,其中仅有一个 1 可以成为公牛数字。示例 3:
输入:secret = “1”, guess = “0”
输出:“0A0B”示例 4:
输入:secret = “1”, guess = “1”
输出:“1A0B”
提示:
1 <= secret.length, guess.length <= 1000
secret.length == guess.length
secret 和 guess 仅由数字组成
思路:首先直接遍历计算出A_nums
,把secret数组中数字频率存入哈希表,与guess对比,最后的结果要减去A_nums
,即为B_nums
的数量
class Solution {public:string getHint(string secret, string guess) {int A_nums = 0, B_nums = 0;unordered_map<char, int>um;for (int i = 0; i < secret.length(); i++) {if(secret[i] == guess[i]) A_nums++;um[secret[i]]++;}for (int i = 0; i < guess.size(); i++) {if(um[guess[i]] > 0) {um[guess[i]]--;B_nums++;}}return to_string(A_nums) + "A" + to_string(B_nums - A_nums) + "B";}
};
——因为淋过雨,所以想要给别人打伞。
18行代码AC-Leecode 299. 猜数字游戏——Leecode每日一题系列相关推荐
- 299. 猜数字游戏
299. 猜数字游戏 你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少.朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜 ...
- linux猜数字代码,Shell脚本实现猜数字游戏
本文实例为大家分享了shell实现猜数字游戏的具体代码,供大家参考,具体内容如下 这里的guem可以随便写,比如a.b之类的也可以 vim guem.sh 编辑脚本 #!/bin/bash init( ...
- 18行代码AC——PTA 二叉树的遍历 (10分)——解题报告
励志用尽量少的代码做高效的表达. 根据输入构造二叉树,输出该二叉树的先序序列.二叉树共有N个节点,节点编号是1到N.约定1号节点是根节点. 输入格式: 第一行输入整数N. 接下来有N行,依次给出1到N ...
- 【LeetCode笔记】299. 猜数字游戏 (Java、偏数学)
文章目录 题目描述 思路 && 代码 题目描述 顶级阅读题! 今天的每日一题,感觉评论区大佬的写法挺值得记录的,就又水了一篇答题文- 思路 && 代码 O(n).O(1 ...
- 15行代码AC——ZOJ - 4118 Stones in the Bucket(思维题+优化方案)(第十届山东省ACM程序设计竞赛F题)
励志用少的代码做高效表达. 思路分析 题意:给定n个数,问最少操作几次,使数列中的数全部相等. 操作一:将数列中任意数减一. 操作二:将数列中任意数减一.任意数加一(相当于把1挪过去) 涉及到最少的题 ...
- LeetCode 299猜数字游戏
你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少.朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜测数字中有多少位属于数 ...
- 299. 猜数字游戏(简单题)
题目描述: 你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜.每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为"Bulls& ...
- LeetCode 299. 猜数字游戏
1. 题目 你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜. 每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为"Bulls ...
- 299. 猜数字游戏。
你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少.朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜测数字中有多少位属于数 ...
最新文章
- CSAPP(4):存储器层次结构
- C++ mutable
- Java SE 8 在并发工具方面的加强
- 初探swift语言的学习笔记九(OC与Swift混编)
- PostgreSQL 8.0 中文手册
- android 减少图片出现oom错误
- bzoj1095 [ZJOI2007]Hide 捉迷藏
- Initializing Java Tooling 30% 停住不动了
- 华为员工“削尖脑袋”想进荣耀!网友也可以放心了,荣耀产品售后不受影响...
- ttshop是PHP开发的,商家应该如何选择商城系统?
- shopnc框架数据库查询限制30条记录
- 入门OJ 4187【周末舞会】
- java反射集合类_java反射 - lara - OSCHINA - 中文开源技术交流社区
- Swift开发笔记-Mac OS X 天气预报应用开发(Xcode7.2)
- 工业AI落地场景案例实战,飞桨EasyDL让工业更智能
- 积分极限定理+勒贝格控制收敛定理+高数
- Android绘制优化(二)布局优化
- TC TT运行状态监控
- USB总线虚拟示波器,用高性能硬件模块,组合成多种仪器
- 直击|支付宝还信用卡下月开始收费 每月2000免费额度