字符串经典题之扑克牌的大小
题目
这种类型的题目不涉及算法,和我们日常的业务逻辑十分相似。最关键的一点就是思维清晰,逐步细化。
比较的时候首先比较类型,如果两副牌的数目相同,那么肯定是相同类型的,在这种情况下再去比较点数,而比较点数的时候大小完全是依靠第一张牌的点数大小决定的;一旦两幅排数目不相同,表示类型出现了差异,这种情况下必须有一方是炸弹,不然就不满足题意的输入了
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;string find_max(const string& input)
{//首先上来看一下有没有王炸if(input.find("joker JOKER")!=string::npos){return "joker JOKER";}//分开两幅牌string left=input.substr(0,input.find('-'));string right=input.substr(input.find('-')+1);//注意+1,不要把“-”放进第二张牌了//左牌和右牌的数目=空格数+1;利用算法中的count统计size_t left_num=count(left.begin(),left.end(),' ')+1;size_t right_num=count(right.begin(),right.end(),' ')+1;//如果左面和右面的数量相等,那就说明类型相同if(left_num==right_num){//首先拿出左面和右面的第一章牌string left_first=left.substr(0,left.find(' '));string right_first=right.substr(0,right.find(' '));//类型相同就比较点数string compare("345678910JQKA2jokerJOKER");if(compare.find(left_first) > compare.find(right_first)){//如果左大于有return left;}else{return right;}}//如果数量不相等,那么有可能是炸弹导致的if(left_num==4){return left;}else if(right_num==4){return right;}else//数量不相等,无法比较{return "ERROR";}}int main()
{string input;//接受输入string ret;//返回情况while(getline(cin,input)){ret=find_max(input);cout<<ret<<endl;}return 0;}
字符串经典题之扑克牌的大小相关推荐
- 字符串经典题之正则匹配字符串
题目 字符串通配符 注意 此题和LeetCode 10:正则表达式匹配这道题虽然看着一样,但是本质不一样.力扣上的这道题,对于*匹配的是它前面的0个或多个,是单个字符,而牛客的这道题*匹配任意字符串多 ...
- 字符串经典题之大数相加
题目 字符串相加 解答 相加时按照对应为相加即可,注意有的时候相加可能会导致进位,所以我们可以定义一个变量next,next取值为0表示不进位,next取值为1表示进位.拿出对应位的字符的时候,将他们 ...
- 字符串经典题之参数解析
题目 参数解析(点击跳转) 这道题并不慢,主要是一些细节得注意.尤其是第三个参数和第四个参数可能会出现引号,所以在大的情况下得把遇到引号和不是引号的情况分开来讨论.我们建立一个临时变量temp,它用来 ...
- kaggle经典题--“泰坦尼克号”--0.8275准确率--东北大学20级python大作业开源(附详细解法与全部代码以及实验报告)
kaggle经典题--"泰坦尼克号"--0.8275准确率--东北大学20级python大作业开源(附详细解法与全部代码以及实验报告) 前言 开发环境 一.导入包: 二.实验数据的 ...
- 计算机中所配备的硬盘软盘,计算机基础经典题以及答案
<计算机基础经典题以及答案>由会员分享,可在线阅读,更多相关<计算机基础经典题以及答案(24页珍藏版)>请在人人文库网上搜索. 1.计算机技能测试题一一.选择题(每小题1分,共 ...
- 牛客题霸 [扑克牌顺子] C++题解/答案
管理博文 牛客题霸 [扑克牌顺子] C++题解/答案 题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)-他随机从中抽出了5张牌,想测测自己 ...
- java期末考试2013及答案_java笔试经典(题及答案)2013.doc
java笔试经典(题及答案)2013.doc Java笔试经典(基础部分及答案和分析)1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?7答:可以包括多个 ...
- 函数和数组,字符串逻辑题
函数和数组逻辑题 函数 预解析 递归求兔子序列 数组 选项卡 全选和反选 点击更换背景颜色 简易日历 30个整型元素的数组,每五个数求出一个平均值,存入新数组 二维数组 找出数组中小于10 的数据 编 ...
- Python学习笔记之扑克牌比大小
一.系列缘由 作为一名运维工程师,也一直有一个学习开发的想法,值此之际,不知道博客的下一期目标在哪里,在这思考和犹豫的间隙想着学习和充实一下自己,学习一下python语言,python随着大数据和 ...
最新文章
- 如何用计算机对cad的草图,AutoCAD2020图纸如何导入su草图大师软件?
- C++模板学习之函数对象之谓词
- 猪的诱惑(2005-12-25 15:45:05)(新浪)
- java 矩阵题目_一些数学分析不错的题目
- MAC下MongoDB的安装启动及停止
- 11旋转编码器原理_旋转编码器的原理是什么?增量式编码器和绝对式编码器有什么区别?...
- [java设计模式简记] 观察者模式(Observer-Pattern)
- centos 7下安装mysql_Centos7下安装MySQL5.7(数据库的最全安装方法)
- Nginx启动后无法访问页面
- android 遍历sdcard,Android编程读取Assets所有文件(遍历每一个文件夹)并存入sdcard的方法...
- C#3.0新特性 扩展方法
- [Linux]Linux系统调用列表
- asp.net + mysql
- 迁移学习全面指南:概念、应用、优势、挑战
- android上下居中,android Spinner:在spinner中垂直居中文本
- python 经典图书排行榜_计算机优秀书籍每周销售排行榜
- pyecharts根据经纬度画动态散点地图
- 【学校联考】CQYZ_Vijos_P3755 轰炸
- undefined reference to `timersub‘ 错误处理
- 如何用arcgis修改栅格文件的波段数?
热门文章
- pandas学习笔记三之赋值操作
- Linux bash学习
- 8位16进制频率计设计实验--VHDL
- Moody Photoshop Panel for mac(ps专业色彩调色扩展面板)
- 华农专业课计算机基础,华南农业大学期末考试大学计算机基础试卷.doc
- 1.5编程基础之循环控制 21 角谷猜想
- python的cmd下小白开发应用教程
- javascript经典实例_一道前端经常忽视的JavaScript面试题
- 记忆化搜索斐波那契c语言,记忆化搜索--优化斐波那契数列递归函数
- python虚拟环境和pyenv_Python多版本管理器pyenv和虚拟环境pyenv-virtualenv的安装设置...