程序员面试金典 - 面试题 16.15. 珠玑妙算(map计数)

1. 题目

珠玑妙算游戏(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次。提示:
len(solution) = len(guess) = 4
solution和guess仅包含"R","G","B","Y"4种字符

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/master-mind-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {
public:vector<int> masterMind(string solution, string guess) {map<char,int> m;vector<int> ans(2,0);for(int i = 0; i < 4; ++i){if(solution[i] == guess[i])//猜中了ans[0]++;else//没猜中m[solution[i]]++;}for(int i = 0; i < 4; ++i){if(guess[i] != solution[i])//没猜中的里面,有伪猜中{if(m.count(guess[i]) && m[guess[i]] > 0)ans[1]++, m[guess[i]]--;}}return ans;}
};

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476889.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python方向键控制角色_python方向键控制上下左右代码

本文所示代码实现python编程方向键控制图片上下左右&#xff0c;我们首先看下演示结果。 演示&#xff1a;实例代码&#xff1a; bif"1.jpg" mif"2.jpg" import pygame,sys from pygame.locals import * pygame.init() screenpygame.display.set_mode((640…

测试ASP.NET 2.0中Gridview控件高级技巧

ASP.NET 2.0中&#xff0c;新增加的gridview控件的确十分强大&#xff0c;弥补了在asp.net 1.1中&#xff0c;使用datagrid控件时的不足之处。因为在asp.net 1.1中&#xff0c;在使用datagrid时&#xff0c;很多情况下依然要编写大量的代码&#xff0c;十分不方便&#xff0c;而…

一场AI技术引发的金融业“降本增效”

文 | 卖萌酱大家好&#xff0c;我是卖萌酱。“全面赋能千行百业”是AI的重要使命&#xff0c;政务、法律、金融、医疗、制造等传统行业往往智能化程度低&#xff0c;在效率、成本和收益方面蕴藏着巨大的优化空间。其中&#xff0c;金融业&#xff0c;就正在AI技术的赋能下&…

LeetCode 999. 车的可用捕获量

1. 题目 在一个 8 x 8 的棋盘上&#xff0c;有一个白色车&#xff08;rook&#xff09;。也可能有空方块&#xff0c;白色的象&#xff08;bishop&#xff09;和黑色的卒&#xff08;pawn&#xff09;。它们分别以字符 “R”&#xff0c;“.”&#xff0c;“B” 和 “p” 给出…

matlab 转换为正整数_【MATLAB】专题1笔记 MATLAB基础知识

视频课程参考&#xff1a;https://www.bilibili.com/video/BV19J411W7Ta数值问题-->求解算法-->程序实现-->结果分析MATLAB 功能 &#xff1a;数值计算&#xff0c;符号计算&#xff0c;图形绘制&#xff0c;程序流程绘制&#xff0c;工具箱数值计算方法&#xff1a…

showModalDialog和showModelessDialog使用心得

一、showModalDialog和showModelessDialog有什么不同&#xff1f;  showModalDialog&#xff1a;被打开后就会始终保持输入焦点。除非对话框被关闭&#xff0c;否则用户无法切换到主窗口。类似alert的运行效果。  showModelessDialog&#xff1a;被打开后&#xff0c;用户可…

python网络编程内容_Python网络编程

本文要写的内容也称为Python套接字编程&#xff0c;并简单介绍socketserver类。参考教程主要是《Python核心编程》。 首先&#xff0c;客户端/服务器模型&#xff0c;客户端向服务器发送请求&#xff0c;在请求合理的情况下&#xff0c;服务器返回客户端需要的资源&#xff0c;…

程序员面试金典 - 面试题 16.17. 连续数列(DP/分治)

1. 题目 给定一个整数数组&#xff08;有正数有负数&#xff09;&#xff0c;找出总和最大的连续数列&#xff0c;并返回总和。 示例&#xff1a; 输入&#xff1a; [-2,1,-3,4,-1,2,1,-5,4] 输出&#xff1a; 6 解释&#xff1a; 连续子数组 [4,-1,2,1] 的和最大&#xff0c…

视觉能力提升112%!李飞飞团队让AI进入社会,学会了“骗”标注…

作者 | 李梅编辑 | 陈彩娴来源 | AI科技评论人类从与他人的互动中学习&#xff0c;而目前的人工智能却常常只能在与社会隔离的环境中学习。所以当我们把一个智能体放到真实世界中时&#xff0c;它会不可避免地在遇到大量新的数据&#xff0c;无法应对不断变化的新需求。如何将智…

.Net 1.1下WEB引用Win控件的两个Bug

1.WEB系统引用windows控件的方式来实现页面打印的功能&#xff0c;一直使用比较正常&#xff0c;有一天更新后部分机器不能正常加载控件。后来分析的N久&#xff0c;发现是打印控件上我加了一个Label&#xff0c;使用了Arial Black字体&#xff0c;如果客户的机器上没有这种字体…

程序员面试金典 - 面试题 16.11. 跳水板(数学)

1. 题目 你正在使用一堆木板建造跳水板。 有两种类型的木板&#xff0c;其中长度较短的木板长度为shorter&#xff0c;长度较长的木板长度为longer。 你必须正好使用 k 块木板。编写一个方法&#xff0c;生成跳水板所有可能的长度。 返回的长度需要从小到大排列。 示例&…

信息抽取终于实现了大一统~

2022年了&#xff0c;有人说信息抽取领域早已是诸神黄昏。然而即使这样&#xff0c;依然“内卷”不止。似乎这个卷成麻花的领域已经看不到希望&#xff1f;但是不久前&#xff0c;这个沉寂之地忽然翻起了浪花&#xff0c;一篇发表在ACL2022上的工作&#xff0c;昭示着这个领域终…

python的输出函数_Python

Python print() 函数 描述 print() 方法用于打印输出&#xff0c;最常见的一个函数。 在 Python3.3 版增加了 flush 关键字参数。 print 在 Python3.x 是一个函数&#xff0c;但在 Python2.x 版本不是一个函数&#xff0c;只是一个关键字。 语法 以下是 print() 方法的语法: pr…

ubuntu6.06容易死机的一种解决方法

修改 /etc/X11/xorg.conf 在 Section "Module" 中把下面这句话注视掉。 # Load "dri" 然后&#xff0c;在下面这个Section中&#xff08;你的可能有些出入&#xff0c;但应该有个相似的Section&#xff09;&#xff0c;把 Driver "ati" 改成 Dri…

程序员面试金典 - 面试题 17.12. BiNode(BST中序遍历)

1. 题目 二叉树数据结构TreeNode可用来表示单向链表&#xff08;其中left置空&#xff0c;right为下一个链表节点&#xff09;。 实现一个方法&#xff0c;把二叉搜索树转换为单向链表&#xff0c;要求值的顺序保持不变&#xff0c;转换操作应是原址的&#xff0c;也就是在原始…

从大一统视角理解扩散模型(Diffusion Models)

文 | 中森知乎资料来源这篇文章是近期笔者阅读扩散模型的一些技术博客和概览的一篇梳理。主要参考的内容来自Calvin luo的论文&#xff0c;针对的对象主要是对扩散模型已经有一些基础了解的读者。Calvin luo 的这篇论文为理解扩散模型提供了一个统一的视角&#xff0c;尤其是其…

python开三次方_用python计算三次方根

我试图在python中计算以下函数&#xff1a;f(x) (1 cos(x))^(1/3) def eval( i ): return math.pow( (1 math.cos( i )), 1/3) 为什么它总是返回给我1&#xff1f; 我试图计算积分的Right和Left近似值&#xff0c;后者应用Simpsons Rule&#xff0c;但是Python似乎不喜欢这个…

程序员面试金典 - 面试题 16.05. 阶乘尾数(5的因子)

1. 题目 设计一个算法&#xff0c;算出 n 阶乘有多少个尾随零。 示例 1: 输入: 3 输出: 0 解释: 3! 6, 尾数中没有零。示例 2: 输入: 5 输出: 1 解释: 5! 120, 尾数中有 1 个零. 说明: 你算法的时间复杂度应为 O(log n) 。来源&#xff1a;力扣&#xff08;LeetCode&#x…

XML动态排序(1)

<?xml version"1.0" encoding"gb2312" ?><?xml-stylesheet type"text/xsl" href"paixu.xsl" ?><BlueIdea><team><blue_ID>1</blue_ID><blue_name>Sailflying</blue_name><blu…

python绘画_python学画画(上)

下载W3Cschool手机App&#xff0c;0基础随时随地学编程 导语 本来想用神经网络让计算机学会画铅笔画和素描的&#xff0c;后来发现其实不用神经网络效果也还可以&#xff0c;那么系列上就从简单的入手&#xff01; 先放图哈&#xff01;沙画&#xff1a;铅笔画&#xff1a;文件…