python 珠玑妙算

【leetcode】珠玑妙算(python实现) 题目: 珠玑妙算游戏(the game of master mind)的玩法如下。 计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次“猜中”;要是只猜对颜色但槽位猜错了,则算一次“伪猜中”。注意,“猜中”不能算入“伪猜中”。 给定一种颜色组合solution和一个猜测guess,编写一个方法,返回 阅读详情
珠玑妙算游戏(the game of master mind)的玩法如下。

计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次“猜中”;要是只猜对颜色但槽位猜错了,则算一次“伪猜中”。注意,“猜中”不能算入“伪猜中”。

给定一种颜色组合solution和一个猜测guess,编写一个方法,返回猜中和伪猜中的次数answer,其中answer[0]为猜中的次数,answer[1]为伪猜中的次数。

示例:

输入: solution="RGBY",guess="GGRR"
输出: [1,1]
解释: 猜中1次,伪猜中1次。
class Solution:
    """
    解体思路: 两次fo循环
    1. 第一次for循环过滤出猜中的个数
    2. 第二次for循环过滤出伪猜中的个数
    分别用s_list和g_list 来标记那些是猜中的和伪猜中的,不能重复使用
    """
    def masterMind(self, solution: str, guess: str) -> List[int]:
        s_list = [0, 0, 0, 0]
        g_list = [0, 0, 0, 0]

        for i in range(4):
            if solution[i] == guess[i]:
                s_list[i] = 1
                g_list[i] = 1

        for s_index, s_val in enumerate(solution):
            for g_index, g_val in enumerate(guess):
                if s_list[s_index]:
                    break
                if g_list[g_index]:
                    continue
                if s_val == g_val:
                    s_list[s_index] = -1
                    g_list[g_index] = -1
        return [s_list.count(1), s_list.count(-1)]
C++ AI解珠玑妙算(mastermind)算法 珠玑妙算这个游戏大家都不陌生,规则就不多说了,直接进主题: 需要破译的密码由四位组成,每位可以是0~9中的任意数字。eg. (1544,4301,0918,...) 此算法可在20步内猜测出结果。 算法大致步骤分为两步: 第一步:求出这串密码是由哪四个数字组成。从0000迭代到9999就行,第一步最多需要十次猜测。 第二步:将由第一步得出的四个数字全排列,把全排列结果存在一个集合里。然后依次返回集合里的猜测并通过猜测结果做简单的划分。对集合进行进一步的消除从而减少猜测次数。 划分规则如下: 当 阅读详情

相关推荐

Python写个益智小游戏来锻炼大脑

游戏规则 珠玑棋的规则非常简单。它分为两方:攻击方和防守方。具体流程如下: 防守方写一个4位数字,每位数字不能重复 攻击方有10次猜测的机会,在每次机会里面,攻击方可以说出一个4位数,让防守方检查。 定义两个字母 A 和 B 攻击方说出的4位数里面,每有任何一位或者多位的数字和位置都对,则 A+1。例如防守方的答案是1234,攻击方的答案是6274,那么就是2A 在第4步检查以后,如果攻击方剩下的数字里面,有一位或者多位数字,在防守方剩下的数字里面,但位置不对

m0_69951489的博客 762

【数组】面试题 16.15. 珠玑妙算(简单)

【题目】 珠玑妙算游戏(the game of master mind)的玩法如下。计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次“猜中”;要是只猜对颜色但槽位猜错了,则算一次“伪猜中”。注意,“猜中”不能算入“伪猜中”。给定一种颜色组合solution和一个猜测guess,编写一个方法,返回猜中和伪

... 1353

珠玑妙算

珠玑妙算游戏(the game of master mind)的玩法如下。 计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次“猜中”;要是只猜对颜色但槽位猜错了,则算一次“伪猜中”。注意,“猜中”不能算入“伪猜中”。 给定一种颜色组合solution和一个猜测guess,编写一个方法,返回猜中和伪猜

Nnnn的博客 3321

珠玑妙算游戏

计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次“猜中”;要是只猜对颜色但槽位猜错了,则算一次“伪猜中”。注意,“猜中”不能算入“伪猜中”

crawer 1298

面试题 16.15. 珠玑妙算

这个问题考察了如何通过两次遍历来高效地计算“猜中”和“伪猜中”的次数。虽然在最坏情况下,时间复杂度可能达到O(n^2),但由于游戏中的槽位数目很小,实际运行时仍然十分高效。这种方法在实际编码中具有很好的实用价值,尤其是对于类似的逻辑猜谜游戏问题。

Lucy_wzw的博客 709

创意视觉项目实战:用ESP32-S3+OV5640构建智能图像流系统

本文详细介绍了如何使用ESP32-S3开发板与OV5640摄像头模块构建智能图像流系统。从硬件连接到软件配置,涵盖Arduino环境搭建、图像采集优化、WiFi视频流传输及外设集成,为开发者提供完整的实战指南,助力智能家居和机器人视觉项目开发。

tech5的博客 1292

珠机妙算益智桌面游戏python_【珠玑妙算】珠玑妙算下载_珠玑妙算教程 _正版珠玑妙算下载 -爱应用...

Mastermind(珠玑妙算)小时候的游戏了,当时有玻璃珠、塑料棋子等各种版本,但是估计现在记得的人很少了吧。本作制作精良,图像、动画十分精美,国外各区排名颇佳,本应给予编辑推荐,但是考虑到这个游戏很费脑子,现如今大家喜欢玩游戏而不是被游戏玩,受众可能不是那么广,所以作罢。但是舍得动脑子的朋友,一定不要错过这款经典游戏!珠玑妙算是一种可供两名玩家使用的密码破译棋盘游戏,在1970年由以色列电讯专...

weixin_40001025的博客 602

Playwright自动化测试实战:攻克日历时间控件三大策略与Java实现

在Web自动化测试领域,元素定位与交互模拟是核心技术基础,其原理在于通过程序精确识别并操作页面中的DOM元素,以模拟真实用户行为。这项技术的核心价值在于提升测试效率、确保交互逻辑的覆盖度与可靠性,广泛应用于电商、金融、OA等系统的功能验证。日历时间控件作为典型的复杂交互组件,常涉及动态弹出层、多级导航与状态同步,是自动化测试中的常见难点。本文聚焦于使用Playwright工具,针对此类控件深入剖析了三种核心解决策略:从最高效的直接赋值、到全面模拟用户交互的主流方法,再到利用组件特性的混合定位方案,并结合Ja

weixin_28835551的博客 311

【Python】【难度:简单】Leetcode 面试题 16.15. 珠玑妙算【完】

珠玑妙算游戏(the game of master mind)的玩法如下。 计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次“猜中”;要是只猜对颜色但槽位猜错了,则算一次“伪猜中”。注意,“猜中”不能算入“伪猜中”。 给定一种颜色组合solution和一个猜测guess,编写一个方法,返回猜中和伪猜

thomashhs12的博客 492

ENVI5.6 自动化流程:GF系列卫星影像批处理与质量优化

本文详细介绍了如何利用ENVI5.6构建针对GF-2、GF-6、GF-7系列卫星影像的自动化批处理流水线。通过配置Batch Processing工具,实现从正射校正到图像融合的全流程批量处理,并分享参数设置、质量监控与故障排查的实战经验,旨在显著提升海量遥感影像的处理效率与成果质量。

efc1234567的博客 603

科研党必备:5个高效查找论文开源代码的宝藏网站(附实战技巧)

本文为科研工作者推荐5个高效查找论文开源代码的宝藏网站,包括ResearchCode和PapersWithCode等工具,提供实战技巧如进阶搜索语法和代码质量评估体系,帮助快速定位高质量实现并提升复现效率。特别分享隐藏代码库的检索方法和智能工作流配置,助力科研党高效完成论文复现。

weixin_28829629的博客 402

程序员面试金典 - 面试题 16.15. 珠玑妙算

题目难度: 简单 原题链接 今天继续更新程序员面试金典系列, 大家在公众号 算法精选 里回复 面试金典 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 珠玑妙算游戏(the game of master mind)的玩法如下。 计算机有 4 个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有 RGGB 4 种(槽 1 为红色,槽 2、3 为绿色,槽 4 为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜 YRGB。要是猜对某.

随便发挥的博客 342

2023年数学建模国赛三大赛题核心建模思路与实战代码全解

本文全面解析2023年数学建模国赛三大赛题的核心建模思路与实战代码,涵盖塔式太阳能光热发电系统优化、多波束测深系统动态规划及蔬菜商品化策略建模。通过Python代码示例和优化算法(如遗传算法、NSGA2)展示,帮助参赛者掌握数学建模的关键技术与实战技巧,提升竞赛成绩。

weixin_33713350的博客 334

力扣刷题笔记:面试题 16.15. 珠玑妙算(列表操作,简单易懂,速度不比哈希表慢)

题目: 面试题 16.15. 珠玑妙算 珠玑妙算游戏(the game of master mind)的玩法如下。 计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。 作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次“猜中”;要是只猜对颜色但槽位猜错了,则算一次“伪猜中”。注意,“猜中”不能算入“伪猜中”。 给定一种颜色组合solution和一个猜测g

weixin_44414948的博客 840

STM32G4系列数字LLC控制程序开发实战

本文详细介绍了基于STM32G4系列MCU的数字LLC控制程序开发全流程。从开发环境搭建、中断服务函数设计,到核心的电压环PID算法、Burst模式控制、状态机设计以及软启动优化,提供了完整的实战代码和关键参数调试经验,帮助开发者高效实现高性能数字电源控制。

weixin_29185493的博客 281

Python爬虫实战:利用Playwright与异步技术高效抓取链家十万级二手房数据

在开始编写代码之前,我们首先需要为项目选择合适的技术栈。1. 传统方案:Requests + BeautifulSoup优点: 简单、轻量、学习成本低。直接发送HTTP请求获取HTML,然后解析。缺点: 对于大量由JavaScript动态渲染的内容无能为力。现代网站(包括链家)大量使用JS来加载数据和实现交互,简单的HTTP请求无法获取到完整的页面内容。此外,容易被基于IP或请求头特征的反爬机制拦截。2. 进阶方案:Selenium优点。

2201_76125261的博客 891

(每日一练python)CC205 珠玑妙算

描述 现有一堆球颜色是红色(R)、黄色(Y)、绿色(G)或蓝色(B)各若干个,现在随机选四个球分别放入四个槽中,得到一个序列。例如,RGGB(槽1为红色,槽2、3为绿色,槽4为蓝色),需要你猜出这个颜色序列的组合。比如,你可能猜YRGB。要是猜对了某个槽的颜色,则算一次“猜中”。要是只是猜对了颜色但槽位猜错了,则算为一次“伪猜中”。要注意,“猜中”不能算入“伪猜中”。给定两个stringA和guess。分别表示颜色序列的组合和一个猜测。需要返回一个int数组,数组第一个元素为猜中的次数,第二个元素为伪猜.

weixin_39827856的博客 625

48、量子系统中的信源编码

本文深入探讨了量子系统中的信源编码理论与应用,详细介绍了盲编码与可见编码、定长编码与变长编码四种主要信源编码方案。文章从经典信源编码出发,对比分析了量子场景下的压缩特性,并系统性地阐述了量子定长信源编码的构建方法及相关定理证明。同时,讨论了通用量子定长信源编码的设计思路及其在实际应用中的优势与挑战。通过理论分析与实验进展的结合,为量子信息存储、传输和处理提供了重要的理论基础和技术支持。

m2n3b4v5c6的博客 100

(力扣)面试题 16.15. 珠玑妙算

面试题 16.15. 珠玑妙算 题目要求: 珠玑妙算游戏(the game of master mind)的玩法如下。 计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次“猜中”;要是只猜对颜色但槽位猜错了,则算一次“伪猜中”。注意,“猜中”不能算入“伪猜中”。 给定一种颜色组合solution和一个猜

搞点學術的研究生 298

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

好玩的珠玑妙算-加作弊带概率空间+日志存储240705mindMaster

珠玑妙算masterMind带计算概率空间 带日志

aw344的专栏 268

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

LeetCode题解(面试16.15):珠玑妙算游戏(Python)

题目:原题链接(简单) 标签:数组 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N)O(N)O(N) O(N)O(N)O(N) 32ms (94.97%) Ans 2 (Python) Ans 3 (Python) 解法一: class Solution: def masterMind(self, solution: str, guess: str) -> List[int]: ans1, ans2 = 0,

长行 711

VB摄像头监控

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

珠玑妙算python版masterMind解决了汉字显示的问题

【代码】珠玑妙算python版masterMind解决了汉字显示的问题。

aw344的专栏 200

【LeetCode】力扣刷题之路 (20240909~20240913)

在经典汉诺塔问题中,有 3 根柱子及 N 个不同大小的穿孔圆盘,盘子可以滑入任意一根柱子。一开始,所有盘子自上而下按升序依次套在第一根柱子上(即每一个盘子只能放在更大的盘子上面)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。输入:A = [2, 1, 0], B = [], C = []输入:A = [1, 0], B = [], C = []解释: 猜中1次,伪猜中1次。

weixin_44940843的博客 495

2021-09-07面试题 16.15. 珠玑妙算

题目 珠玑妙算游戏(the game of master mind)的玩法如下。 计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次“猜中”;要是只猜对颜色但槽位猜错了,则算一次“伪猜中”。注意,“猜中”不能算入“伪猜中”。 给定一种颜色组合solution和一个猜测guess,编写一个方法,返回猜中和伪

chenghaoy的博客 187

【力扣日记】299 猜数字游戏|面试16.15 珠玑妙算 | 哈希

题目描述 你正在和你的朋友玩 猜数字(Bulls and Cows)游戏:你写下一个数字让你的朋友猜。每次他猜测后,你给他一个提示,告诉他有多少位数字和确切位置都猜对了(称为“Bulls”, 公牛),有多少位数字猜对了但是位置不对(称为“Cows”, 奶牛)。你的朋友将会根据提示继续猜,直到猜出秘密数字。 请写出一个根据秘密数字和朋友的猜测数返回提示的函数,用 A 表示公牛,用 B 表示奶牛。 请...

Heart_for_Ling的博客 935
上一篇: python 一次编辑
下一篇: python 井字游戏
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一叶知秋的BLOG

创作不易 请多多关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值