当前位置: 首页 > news >正文

php开源公司网站网站免费优化工具

php开源公司网站,网站免费优化工具,公司网站模板大全,wordpress每页文章数珠玑妙算游戏,OJ练习 一、描述二、方法一三、方法二 一、描述 珠玑妙算游戏(the game of master mind)的玩法如下: 计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色&#xf…

珠玑妙算游戏,OJ练习

  • 一、描述
  • 二、方法一
  • 三、方法二

一、描述

珠玑妙算游戏(the game of master mind)的玩法如下:
计算机有4个槽,每个槽放一个球,颜色可能是红色(R)、黄色(Y)、绿色(G)或蓝色(B)。例如,计算机可能有RGGB 4种(槽1为红色,槽2、3为绿色,槽4为蓝色)。作为用户,你试图猜出颜色组合。打个比方,你可能会猜YRGB。要是猜对某个槽的颜色,则算一次“猜中”;要是只猜对颜色但槽位猜错了,则算一次“伪猜中”。注意,“猜中”不能算入“伪猜中”,本题OJ链接
给定一种颜色组合solution和一个猜测guess,编写一个方法,返回猜中和伪猜中的次数answer,其中answer[0]为猜中的次数,answer[1]为伪猜中的次数。
示例1:
输入:solution=“RGBY”,guess=“GGRR”
输出:[1,1]
解释:猜中1次,伪猜中1次
示例2:
输入:solution=“BRBB”,guess=“RBGY”
输出:[0,2]
解释:猜中0次,伪猜中2次
示例3:solution=“BRGG”,guess=“BBRR”
输出:[1,1]
解释:猜中1次,伪猜中1次
提示:
len(solution) = len(guess) = 4
solution和guess仅包含"R",“G”,“B”,"Y"这4种字符

二、方法一

1、先计算猜中次数,统计solution和guess中相同下标相等的元素,并将相等的元素都赋值为0,最后统计相等的次数就是猜中的次数
2、再计算伪猜中次数(注意:如果solution[i]==guessj,则是伪猜中,后面的对比这两个位置都不能再用了)依次用数组guess中的非0元素和solution中的每个非0元素对比,统计相等的次数,并将相等的元素赋值为0,并且重新用下一个guess中的元素和solution中的每个非0元素对比,最后统计相等的次数就是伪猜中次数
代码实现:

int* masterMind(char* solution, char* guess, int* returnSize)
{int* returnArr = (int*)calloc(2, sizeof(int));*returnSize = 2;int i = 0;for(i = 0; i < 4; i++) //计算猜中{if(solution[i] == guess[i]){returnArr[0]++;solution[i] = guess[i] = 0;}}int j = 0;for(i = 0; i < 4; i++) //计算伪猜中{if(guess[i] != 0){for(j = 0; j < 4; j++){if(solution[j] != 0 && solution[j] == guess[i]){returnArr[1]++;solution[j] = 0;break;}}}}return returnArr;
}

三、方法二

猜中次数:若位置相同且颜色字符也相同,则猜中次数计数器+1
伪猜中次数:颜色相同,但是在不同位置,这时候只需要除去猜中位置之外,统计两个数组中各个字符出现的数量,取较小的一方就是每种颜色伪猜中的数量了。

int* masterMind(char* solution, char* guess, int* returnSize)
{int* returnArr = (int*)calloc(2, sizeof(int)); //开辟返回数组int* flagSolution = (int*)calloc(26, sizeof(int)); //统计solution中颜色字符数量的数组,flagSolution['G'-'A']表示颜色G出现的次数int* flagGuess = (int*)calloc(26, sizeof(int)); //统计guess中颜色字符数量的数组,flagGuess['G'-'A']表示颜色G出现的次数*returnSize = 2;int i = 0;for(i = 0; i < 4; i++) //因为只有四个字符,所有循环4次{if(solution[i] == guess[i]) //猜中了,猜中次数增加{returnArr[0]++;}else{flagSolution[solution[i] - 'A'] += 1;flagGuess[guess[i] - 'A'] += 1;}}for(i = 0; i < 26; i++) //处理统计数量的数组,取对应颜色字符数量的较小值{returnArr[1] += flagSolution[i] < flagGuess[i] ? flagSolution[i] : flagGuess[i];}return returnArr;
}
http://www.yayakq.cn/news/90744/

相关文章:

  • 食品网站app建设方案公司部门解散赔偿标准
  • 网站的开发平台视频直播网站架构
  • 平潭做网站昆明企业网站开发公司
  • 重庆网站建设公司 菠拿拿简单网页制作成品免费
  • 东莞企业网站排名北京推广
  • 淘宝导购网站源码做手机旅游网站
  • 网站快速备案价格成都明腾网站建设公司
  • 网站左侧导航代码滨江网站建设
  • 网站建设改版目的网站移动端优化的重点有哪些
  • 创建网站公司好收废品做网站
  • 宁乡市住房和城乡建设局网站北京网站优化软件
  • ios网站开发工具如何开展外贸网络营销
  • 好用的建站系统河北定制网站建设产业
  • 仪征市城乡建设局网站做网站一定要代码吗
  • 温州营销网站制作联系电话精美ppt模板免费下载完整版
  • 网站开发的目标WordPress怎么设置分类
  • 自己随便玩玩的网站怎么建设公司企业网站建设
  • dede网站 远程生成站长平台seo
  • 寿光网站优化做招聘网站怎么赚钱
  • 礼品网站建设策划wordpress注入漏洞
  • 江苏省建设工程上岗证查询网站小程序免费网站
  • 软文网站开发网站做彩票
  • 中山建网站报价dw做网站乱码
  • vps怎么搭建网站wordpress searchform.php
  • 建站合作阳泉市编办网站三基建设
  • 做旅游网站课程设计报告seo云优化
  • 模板网站建设公司哪个好wordpress 文章 模版
  • 如何查看网站的流量云服务器有哪些平台
  • 深圳市建设执业培训中心网站wordpress 评论 邮箱
  • 电商网站建设方案免费域名领取