leetcode-第299题-猜数字游戏

一个猜数字的游戏 可以做猜数字,虽然非常的简单,但是化石靠手打出来的,希望有人可以采纳,眷顾一下努力的孩子么,通过你的手啊 立即下载

博主并没有什么算法基础,所以写的不好,勿喷,抛砖引玉,欢迎交流,感谢。

// 你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下:
// 你写出一个秘密数字,并请朋友猜这个数字是多少。
// 朋友每猜测一次,你就会给他一个提示,告诉他的猜测数字中有多少位属于数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位属于数字猜对了但是位置不对
//(称为“Cows”, 奶牛)。 
// 朋友根据提示继续猜,直到猜出秘密数字。 
// 请写出一个根据秘密数字和朋友的猜测数返回提示的函数,返回字符串的格式为 xAyB ,x 和 y 都是数字,A 表示公牛,用 B 表示奶牛。
// xA 表示有 x 位数字出现在秘密数字中,且位置都与秘密数字一致。
// yB 表示有 y 位数字出现在秘密数字中,但位置与秘密数字不一致。 
// 请注意秘密数字和朋友的猜测数都可能含有重复数字,每位数字只能统计一次。
// 示例 1:
// 输入: secret = "1807", guess = "7810"
// 输出: "1A3B"
// 解释: 1 公牛和 3 奶牛。公牛是 8,奶牛是 0, 1 和 7。
// 示例 2:
// 输入: secret = "1123", guess = "0111"
// 输出: "1A1B"
// 解释: 朋友猜测数中的第一个 1 是公牛,第二个或第三个 1 可被视为奶牛。
// 说明: 你可以假设秘密数字和朋友的猜测数都只包含数字,并且它们的长度永远相等。
// Related Topics 哈希表
// 👍 94 👎 0
package com.zqh.leetcode.editor.cn;

//Java:猜数字游戏
public class P299BullsAndCows {
    public static void main(String[] args) {
        Solution solution = new P299BullsAndCows().new Solution();
        System.out.println(solution.getHint("1807", "7810"));
        System.out.println(solution.getHint("1123", "0111"));
        // TO TEST
    }

    //leetcode submit region begin(Prohibit modification and deletion)
    class Solution {
        public String getHint(String secret, String guess) {
            char[] sChars = secret.toCharArray();
            char[] gChars = guess.toCharArray();
            int a = 0;
            int b = 0;
            int[][] array = new int[10][1];
            for (int i = 0; i < sChars.length; i++) {
                if (sChars[i] == gChars[i]) {
                    a++;
                    continue;
                }
                // 判断数字是否存在
                int aIndex = sChars[i] - 48;
                // 说明之前已经存有数字了,但是是猜的,数字存在但是位置不符合,所以b+1
                if (array[aIndex][0]++ <= -1) {
                    b++;
                }

                int bIndex = gChars[i] - 48;
                // 说明之前已经存有数字了,但猜的数字在后面位置,可位置不符合,所以b+1
                if (array[bIndex][0]-- >= 1) {
                    b++;
                }
            }
            return a + "A" + b + "B";
        }
    }
//leetcode submit region end(Prohibit modification and deletion)
}

 

1A2B猜数字 1A2B小游戏,使用随机函数生成开头不为零的四位互不相同数字。 立即下载

相关推荐

JAVA猜数字游戏代码

设计一个GUI猜数字游戏程序 该游戏可以由程序随机产生四个0到9之间的整数,且不重复。玩游戏者通过由用户输入四个数字来匹配上面所产生的数字。A表示位置正确且数字正确,B表示数字正确而位置不正确。

LeetCode第 299 题:猜数字游戏(C++)

299. 猜数字游戏 - 力扣(LeetCode) 就是计数就可以了,位置相同数字相同就公牛+1,数字相同但位置不同就母牛+1 class Solution { public: string getHint(string secret, string guess) { int num1 = 0, num2 = 0; unordered_map<int, int> m; for(int i = 0; i < secret.size()

zj 408

java游戏猜数字源代码

这个游戏游戏有益于大家学习编写java代码

leetcode每日一题-299:猜数字游戏

leetcode每日一题-299:猜数字游戏 链接 猜数字游戏 题目 分析 虽然是一个中等题,但是其实十分的简单.我们只需要先按照最小长度遍历一遍两个字符串的前缀,然后统计一下同位置并且数字相同的结果,然后把这些点标记一下,然后将secret中没有匹配的加入哈希表,遍历guess来统计一下不同位置数字相同的答案即可. 代码 C++ class Solution { public: string getHint(string secret, string guess) {

qq_45826803的博客 5890

汉得笔试猜数字题目生成器和运算

自己编写的用来生成汉得笔试题目,可以重复生成,附带有解题代码。

FPGA上的YOLOv8加速实现:从Verilog到高层综合

YOLOv8 采用了更高效的C2f模块与轻量化Backbone结构,模型特征包括:结构紧凑、检测头融合高低层特征;支持Anchor-free检测机制;支持INT8、FP16低精度推理;计算密度高,适合FPGA并行优化。

2501_93174773的博客 917

【Leetcode】299. 猜数字游戏

每日一题

想要AC的sjh的博客空间 928

robomimic实验复现全流程指南:从数据集下载到训练视频生成

本文提供了RoboMimic实验复现的完整实战指南,重点解析了从数据集下载、配置文件定制到模型训练与评估的全流程。以tool_hang任务为例,详细说明了环境准备、数据获取、训练监控及视频生成等关键步骤,并针对常见问题给出了排查方案,帮助研究者高效完成机器人模仿学习实验的闭环验证。

2w3e4r5t6y的博客 1030

《Leetcode每日一题》299.猜数字游戏

关键: 1.to_string转换数字为字符 2.利用字符串以及后++/--,如果找到位置相同的直接A++,否则如果有位置不同但是数字相同的,判断这个时候的nums数组在guess的时候>0或者在secret的时候<0,通过后s++/g--来控制对应的数目。 3.注意数组初始化 class Solution { public: string getHint(string secret, string guess) { int nums[10]={0}; ...

shawnlycheeo的博客 2681

自动控制原理之控制系统的数学模型(类比神经网络学习数学模型)

控制系统的数学模型背景建模方法常用的数学模型时域数学模型的建立建立微分方程的步骤复数域模型的建立传递函数的性质系统的典型环节及传递函数比例环节惯性环节积分环节微分环节理想微分环节一阶微分环节二阶微分环节振荡环节延时环节(时滞环节) 背景 数学模型就像是真实世界的写照,它就像一个虚拟的世界,我们可以通过建模的方式了解这个真实世界的运作规律。 这一点很像强化学习,强化学习需要一个供智能体探索、学习的环境,于是,我们通常会事先建立一个虚拟的仿真环境。举个例子,对于人类来说,可能需要经过不断地尝试,甚至是生命的代价

zbp_12138的博客 6569

NR/5G - On demand SI

NR中系统消息如MIB -可用于无线帧同步等,SIB1 -小区物理信道公共配置等,是驻留一个小区所必需获得的信息,这类系统信息小区是进行周期性广播。 在SI的配置中,系统消息分为BroadCasting和non-BroadCasting,BroadCasting类系统消息基站也是周期性进行广播的,而non-BroadCasting类系统消息则是通过一种on-demand的方式,即如果需要读取这类系统消息,那么UE需要先发送请求给基站,基站响应UE之后,再下发系统消息。 ...

6774

leetcode 300.最长递增子序列

class Solution: def lengthOfLIS(self, nums: List[int]) -> int: if not nums: return 0 lenth=len(nums) dp = [1]*lenth for i in range(lenth): for j in range(i): if nums[i]>nums

weixin_53776140的博客 305

Python爬虫实战:全面解析裁判文书网法律文书抓取与分析

本文详细介绍了如何使用Python爬虫技术,分别通过Requests+BeautifulSoup、Selenium和Scrapy等方式,爬取裁判文书网的法律文书信息,并进行了验证码处理、数据存储和可视化分析。网页结构分析与数据提取;爬虫框架的使用;验证码处理策略;数据分析与可视化。爬取更多法律文书网站的数据;爬取文书的全文内容;构建法律文书搜索引擎;使用自然语言处理技术对法律文书进行深入分析。

2201_76125261的博客 1330

LeetCode第299题_猜数字游戏

本文解析LeetCode第299题"猜数字游戏",要求根据秘密数字和猜测数字统计公牛(位置数字全对)和奶牛(数字对位置不对)的数量。文章提供了两种高效解法:哈希表法和数组计数法,并给出C#、Python、C++三种语言实现。解法通过一次遍历统计公牛,记录剩余数字后计算奶牛,时间复杂度O(n)。数组计数法空间复杂度更优(O(1))。代码结构清晰,处理了数字重复的情况,适合提升字符串处理能力。

qq_40263592的博客 1531

怎样让你的论文看起来“像人写的”?只用三招直接去除AI味(附提示词)

当然如果你在实际使用中还有其他需求,比如降重润色、改写翻译等,也可以结合七哥的专业写作平台来辅助,这个高级学术平台已经内置了ChatGPT4o、ChatGPT4.1、Claude3.7、满血版DeepSeek-R1等AI大模型,帮你写文献综述、干课题申报、写论文等学术任务绝对每一点问题。比如我自己的一套学术写作平台,其中的“降重与润色”模块整合了多种GPTs应用,除了能帮助调整语言风格、避免雷同表达,还可以顺带降个重,对于提升学术文本的整体质量还是非常有用的。一、为什么用AI写出来的文章会有AI味?

智能AI让学术科研更容易 1680

【C++/嵌入式梳理】bootloader

【C++/嵌入式笔试面试八股】bootloader

Hi 1207

【力扣刷题】299. 猜数字游戏

题目来源: 299. 猜数字游戏 - 力扣(LeetCode) 思路: 参考了这位大佬的解题思路 要点:先找公牛,再找母牛;用过的做标记。 学到了一个很棒的函数 C++中string::find()函数和string::npos函数的使用 AC代码: class Solution { public: string getHint(string secret, string guess) { int bulls=0; int cows=0; f

HeyRena的博客 341

Python爬虫教程:抓取Android或iOS应用中的数据

随着智能手机的普及,移动应用程序已经成为我们生活中不可或缺的一部分。从社交媒体、在线购物到金融服务和健康管理,几乎所有领域都有相应的手机应用程序(App)服务用户。而这些应用程序通常会存储大量的数据,例如用户行为、产品信息、订单记录等。如果我们能有效地抓取这些数据,可以为数据分析、商业智能、用户行为分析等提供有力支持。本文将重点介绍如何使用Python爬虫技术抓取Android或iOS应用中的数据,尤其是如何从这些应用的后端接口、存储、或网页中提取数据。我们将探讨如何通过反向工程技术访问移动应用中的API接

2201_76125261的博客 800

力扣题299猜数字游戏

你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜测数字中有多少位属于数字和确切位置都猜对了(称为 "Bulls", 公牛), 有多少位属于数字猜对了但是位置不对(称为 "Cows", 奶牛)。也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字。 给你一个秘密数字secret 和朋友猜测的数字guess ,请你返回对朋友这次猜测的提示。 提示的格式为 "..

xxyneymar的博客 148

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

LeetCode刷题之299.猜数字游戏

LeetCode刷题之299.猜数字游戏 我不知道将去向何方,但我已在路上! 时光匆匆,虽未曾谋面,却相遇于斯,实在是莫大的缘分,感谢您的到访 ! 题目: 你正在和你的朋友玩猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜。每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位数字猜对了但...

胡萝卜 519

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

​LeetCode刷题实战299:猜数字游戏

算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !...

程序IT圈 257

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Leetcode第299题:一个有趣的猜数字游戏

在secret和guess中,不管是公牛bulls还是母牛cows,必然是secret和guess中都有的数字,所以我们要找出在secret和guess中有哪些公共数字,且统计出这些公共数字出现的次数,为此设计了tjshare(s1,s2)和tjnum(s1,s2)函数,tjshare(s1,s2)函数统计在s1和s2中有哪些公共数字,返回一个包含公共数字的列表,tjnum(s1,s2)统计s1和s2中公共数字出现的次数,返回两个字典。注意,两个不匹配的 1 中,只有一个会算作奶牛(数字猜对位置不对)。

2302_79682652的博客 658

LeetCode题练习与总结:猜数字游戏--299

本文详细介绍了猜数字游戏“Bulls and Cows”的解题思路和Java实现,包括遍历字符串、数组记录频次等步骤,分析了时间复杂度和空间复杂度,总结了涉及的Java知识点。

一直学习永不止步 2077

LeetCode刷题Python之299. 猜数字游戏

你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下: 写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个包含下述信息的提示: 猜测数字中有多少位属于数字和确切位置都猜对了(称为 "Bulls", 公牛), 有多少位属于数字猜对了但是位置不对(称为 "Cows", 奶牛)。也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字。 给你一个秘密数字secret 和朋友猜测的数字guess ,请你返回对朋友这次猜测的提示。 提示的格式为 "..

qq_55625579的博客 235

Leetcode题299、猜数字游戏(Python题解)

问题: 题目来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/bulls-and-cows/ 难度:简单 分析: 考察字典的使用,python的数据结构好秀啊,三行写完。 解决方法: 1:python高级数据结构,设计Counter的使用,Counter的与操作。 Counter统计每个字母出现的频率,生成一个类似字典的结构,但不是字典类型,Counter类型可以直接做与操作,取相同键的相同值部分,比如Counter1的键A值为3,Counter2的键

AI414010的博客 462

LeetCode 刷题 [C++] 第[299]题. 猜数字游戏

猜数字问题

心之所向、力之所及 379
上一篇: leetcode-第287题-寻找重复数
下一篇: 返回URL首个结果
97牛肉面
博客等级 码龄9年 54粉丝 75原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值