今天是坚持每日一题打卡的第十三天


题目链接: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每日一题系列相关推荐

  1. 299. 猜数字游戏

    299. 猜数字游戏 你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少.朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜 ...

  2. linux猜数字代码,Shell脚本实现猜数字游戏

    本文实例为大家分享了shell实现猜数字游戏的具体代码,供大家参考,具体内容如下 这里的guem可以随便写,比如a.b之类的也可以 vim guem.sh 编辑脚本 #!/bin/bash init( ...

  3. 18行代码AC——PTA 二叉树的遍历 (10分)——解题报告

    励志用尽量少的代码做高效的表达. 根据输入构造二叉树,输出该二叉树的先序序列.二叉树共有N个节点,节点编号是1到N.约定1号节点是根节点. 输入格式: 第一行输入整数N. 接下来有N行,依次给出1到N ...

  4. 【LeetCode笔记】299. 猜数字游戏 (Java、偏数学)

    文章目录 题目描述 思路 && 代码 题目描述 顶级阅读题! 今天的每日一题,感觉评论区大佬的写法挺值得记录的,就又水了一篇答题文- 思路 && 代码 O(n).O(1 ...

  5. 15行代码AC——ZOJ - 4118 Stones in the Bucket(思维题+优化方案)(第十届山东省ACM程序设计竞赛F题)

    励志用少的代码做高效表达. 思路分析 题意:给定n个数,问最少操作几次,使数列中的数全部相等. 操作一:将数列中任意数减一. 操作二:将数列中任意数减一.任意数加一(相当于把1挪过去) 涉及到最少的题 ...

  6. LeetCode 299猜数字游戏

    你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少.朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜测数字中有多少位属于数 ...

  7. 299. 猜数字游戏(简单题)

    题目描述: 你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜.每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为"Bulls& ...

  8. LeetCode 299. 猜数字游戏

    1. 题目 你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜. 每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为"Bulls ...

  9. 299. 猜数字游戏。

    你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少.朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜测数字中有多少位属于数 ...

最新文章

  1. CSAPP(4):存储器层次结构
  2. C++ mutable
  3. Java SE 8 在并发工具方面的加强
  4. 初探swift语言的学习笔记九(OC与Swift混编)
  5. PostgreSQL 8.0 中文手册
  6. android 减少图片出现oom错误
  7. bzoj1095 [ZJOI2007]Hide 捉迷藏
  8. Initializing Java Tooling 30% 停住不动了
  9. 华为员工“削尖脑袋”想进荣耀!网友也可以放心了,荣耀产品售后不受影响...
  10. ttshop是PHP开发的,商家应该如何选择商城系统?
  11. shopnc框架数据库查询限制30条记录
  12. 入门OJ 4187【周末舞会】
  13. java反射集合类_java反射 - lara - OSCHINA - 中文开源技术交流社区
  14. Swift开发笔记-Mac OS X 天气预报应用开发(Xcode7.2)
  15. 工业AI落地场景案例实战,飞桨EasyDL让工业更智能
  16. 积分极限定理+勒贝格控制收敛定理+高数
  17. Android绘制优化(二)布局优化
  18. TC TT运行状态监控
  19. USB总线虚拟示波器,用高性能硬件模块,组合成多种仪器
  20. 直击|支付宝还信用卡下月开始收费 每月2000免费额度

热门文章

  1. 使用NETSH来绑定ARP
  2. 高可用系统设计 | 分布式限流策略:计数器算法、漏桶算法、令牌桶算法
  3. 打造杰出软件开发团队的12条指导建议
  4. 音视频技术开发周刊 | 132(FFmpeg决策委员会委员 刘歧)
  5. MSU公布2019视频压缩评比报告客观部分
  6. LiveVideoStack线上分享第四季(五):基于Airflow的视频编码平台
  7. LiveVideoStackCon讲师热身分享 ( 二 ) —— 中美互动直播比较
  8. 基于Flink的高可靠实时ETL系统
  9. 运维总监聂鑫:腾讯海量监控体系经验分享
  10. 浅谈 URI 及其转义