题目

这种类型的题目不涉及算法,和我们日常的业务逻辑十分相似。最关键的一点就是思维清晰,逐步细化。

比较的时候首先比较类型,如果两副牌的数目相同,那么肯定是相同类型的,在这种情况下再去比较点数,而比较点数的时候大小完全是依靠第一张牌的点数大小决定的;一旦两幅排数目不相同,表示类型出现了差异,这种情况下必须有一方是炸弹,不然就不满足题意的输入了

#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;}

字符串经典题之扑克牌的大小相关推荐

  1. 字符串经典题之正则匹配字符串

    题目 字符串通配符 注意 此题和LeetCode 10:正则表达式匹配这道题虽然看着一样,但是本质不一样.力扣上的这道题,对于*匹配的是它前面的0个或多个,是单个字符,而牛客的这道题*匹配任意字符串多 ...

  2. 字符串经典题之大数相加

    题目 字符串相加 解答 相加时按照对应为相加即可,注意有的时候相加可能会导致进位,所以我们可以定义一个变量next,next取值为0表示不进位,next取值为1表示进位.拿出对应位的字符的时候,将他们 ...

  3. 字符串经典题之参数解析

    题目 参数解析(点击跳转) 这道题并不慢,主要是一些细节得注意.尤其是第三个参数和第四个参数可能会出现引号,所以在大的情况下得把遇到引号和不是引号的情况分开来讨论.我们建立一个临时变量temp,它用来 ...

  4. kaggle经典题--“泰坦尼克号”--0.8275准确率--东北大学20级python大作业开源(附详细解法与全部代码以及实验报告)

    kaggle经典题--"泰坦尼克号"--0.8275准确率--东北大学20级python大作业开源(附详细解法与全部代码以及实验报告) 前言 开发环境 一.导入包: 二.实验数据的 ...

  5. 计算机中所配备的硬盘软盘,计算机基础经典题以及答案

    <计算机基础经典题以及答案>由会员分享,可在线阅读,更多相关<计算机基础经典题以及答案(24页珍藏版)>请在人人文库网上搜索. 1.计算机技能测试题一一.选择题(每小题1分,共 ...

  6. 牛客题霸 [扑克牌顺子] C++题解/答案

    管理博文 牛客题霸 [扑克牌顺子] C++题解/答案 题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)-他随机从中抽出了5张牌,想测测自己 ...

  7. java期末考试2013及答案_java笔试经典(题及答案)2013.doc

    java笔试经典(题及答案)2013.doc Java笔试经典(基础部分及答案和分析)1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?7答:可以包括多个 ...

  8. 函数和数组,字符串逻辑题

    函数和数组逻辑题 函数 预解析 递归求兔子序列 数组 选项卡 全选和反选 点击更换背景颜色 简易日历 30个整型元素的数组,每五个数求出一个平均值,存入新数组 二维数组 找出数组中小于10 的数据 编 ...

  9. Python学习笔记之扑克牌比大小

    一.系列缘由   作为一名运维工程师,也一直有一个学习开发的想法,值此之际,不知道博客的下一期目标在哪里,在这思考和犹豫的间隙想着学习和充实一下自己,学习一下python语言,python随着大数据和 ...

最新文章

  1. 如何用计算机对cad的草图,AutoCAD2020图纸如何导入su草图大师软件?
  2. C++模板学习之函数对象之谓词
  3. 猪的诱惑(2005-12-25 15:45:05)(新浪)
  4. java 矩阵题目_一些数学分析不错的题目
  5. MAC下MongoDB的安装启动及停止
  6. 11旋转编码器原理_旋转编码器的原理是什么?增量式编码器和绝对式编码器有什么区别?...
  7. [java设计模式简记] 观察者模式(Observer-Pattern)
  8. centos 7下安装mysql_Centos7下安装MySQL5.7(数据库的最全安装方法)
  9. Nginx启动后无法访问页面
  10. android 遍历sdcard,Android编程读取Assets所有文件(遍历每一个文件夹)并存入sdcard的方法...
  11. C#3.0新特性 扩展方法
  12. [Linux]Linux系统调用列表
  13. asp.net + mysql
  14. 迁移学习全面指南:概念、应用、优势、挑战
  15. android上下居中,android Spinner:在spinner中垂直居中文本
  16. python 经典图书排行榜_计算机优秀书籍每周销售排行榜
  17. pyecharts根据经纬度画动态散点地图
  18. 【学校联考】CQYZ_Vijos_P3755 轰炸
  19. undefined reference to `timersub‘ 错误处理
  20. 如何用arcgis修改栅格文件的波段数?

热门文章

  1. pandas学习笔记三之赋值操作
  2. Linux bash学习
  3. 8位16进制频率计设计实验--VHDL
  4. Moody Photoshop Panel for mac(ps专业色彩调色扩展面板)
  5. 华农专业课计算机基础,华南农业大学期末考试大学计算机基础试卷.doc
  6. 1.5编程基础之循环控制 21 角谷猜想
  7. python的cmd下小白开发应用教程
  8. javascript经典实例_一道前端经常忽视的JavaScript面试题
  9. 记忆化搜索斐波那契c语言,记忆化搜索--优化斐波那契数列递归函数
  10. python虚拟环境和pyenv_Python多版本管理器pyenv和虚拟环境pyenv-virtualenv的安装设置...