【剑指offer】扑克牌的顺子,C++实现
# 题目
# 思路
顺子满足的条件:
- 数组长度必须为5
- 除0外没有重复的牌(0表示大小王)
- 顺子中最大值和最小值的差值小于5
# 代码
- #include <iostream>
- #include <vector>
- using namespace std;
- class Solution {
- public:
- bool IsContinuous( vector<int> numbers )
- {
- // 数组长度必须为5
- if(numbers.size() != 5) return 0;
- // 统计每个元素出现的次数;以numbers中的元素作为下标(最大K,对应13)
- int count[14]={0};
- // 辅助变量
- int len=numbers.size();
- int max=-1;
- int min=14;
- for(int i=0;i<len;++i)
- {
- count[numbers[i]]++;
- if(numbers[i]==0) continue; // 大小王可以重复
- if(count[numbers[i]]>1) return 0; // 其他牌不可以重复
- if(numbers[i]>max) max=numbers[i];// 更新max
- if(numbers[i]<min) min=numbers[i];// 更新min
- }
- if(max-min<5) return 1;
- return 0;
- }
- };
- int main()
- {
- vector<int> numbers = {1,2,3,5,0};
- Solution solution;
- cout<<solution.IsContinuous(numbers)<<endl;
- return 0;
- }
【剑指offer】扑克牌的顺子,C++实现的更多相关文章
- 剑指offer——扑克牌的顺子
思想: 1.先将输入的几个数进行排序,sort函数是#include<algorithm>下的. 2.统计0的个数,以及相邻数的差值,比较0的个数及差值的和.看是否可以用大王填充中间的差值 ...
- 剑指Offer——扑克牌顺子
题目描述: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他 ...
- 剑指Offer44 扑克牌的顺子
/************************************************************************* > File Name: 44_Contin ...
- 【剑指offer】扑克牌的顺子
个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想測測自己的手气,看看能不能抽到顺子,假设抽到的话,他决定去买体育彩票,嘿嘿! ."红心A,黑桃3,小王,大王,方片 ...
- 【Java】 剑指offer(61) 扑克牌的顺子
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连 ...
- 剑指Offer - 九度1355 - 扑克牌顺子
剑指Offer - 九度1355 - 扑克牌顺子2014-01-30 23:19 题目描述: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^). ...
- Go语言实现:【剑指offer】扑克牌顺子
该题目来源于牛客网<剑指offer>专题. LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)-他随机从中抽出了5张牌,想测测自己的手气 ...
- 【剑指Offer面试编程题】题目1355:扑克牌顺子--九度OJ
题目描述: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他 ...
- 剑指 Offer 61. 扑克牌中的顺子 + 简单题 + 思维
剑指 Offer 61. 扑克牌中的顺子 Offer_61 题目描述 java代码 package com.walegarrett.offer; /** * @Author WaleGarrett * ...
- 剑指 Offer 61. 扑克牌中的顺子
剑指 Offer 61. 扑克牌中的顺子 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1,J为11,Q为12,K为13,而大.小王为 0 ,可以看成任意 ...
随机推荐
- django的基本用法
1.项目创建 # 新建一个文件夹DjangoProjects# 切换到需要的文件夹创建虚拟环境 C:\Projects\DjangoProjects>python -m venv test_ve ...
- 【bzoj2333 & luoguP3273】棘手的操作(线段树合并)
题目传送门:bzoj2333 luoguP3273 这操作还真“棘手”..听说这题是可并堆题?然而我不会可并堆.于是我就写了线段数合并,然后调了一晚上,数据结构毁一生!!!QAQ…… 其实这题也可以把 ...
- C++ 读取文件所有内容的方法
方法一 #include <fstream> #include <string> #include <iostream> using namespace std; ...
- Js判断是否联网引入不同js
需求:当百度地图在内网中也能使用. 分析:js判断是否联网,然后根据联网状态加载不同js. 失败案例: 1.直接document.write <script language="jav ...
- Nginx、Apache工作原理及Nginx为何比Apache高效
Nginx才短短几年,就拿下了web服务器大笔江山,众所周知,Nginx在处理大并发静态请求方面,效率明显高于httpd,甚至能轻松解决C10K问题. 在高并发连接的情况下,Nginx是Apache服 ...
- bzoj1083: [SCOI2005]繁忙的都市 瓶颈生成树
https://www.lydsy.com/JudgeOnline/problem.php?id=1083 题意:给你一个图,求生成树最大边权最小值 就是求瓶颈生成树(生成树中最大边权最小),最小生成 ...
- bind、delegate、on的区别
on(type,[data],fn) on有三个参数,type代表事件类型,可以为“click"."onchange"."mouseover" dat ...
- restframework api(基础1)
最近项目忙成狗,都没时间好好看看开发的东西了,正好最近开始看rest api的东西,真是个好东西啊.可以前后端分离,但是在学习的过程中,遇到各种问题.还是基础不够扎实.本次rest api的会一边遇坑 ...
- bzoj1800
题解: 暴力枚举,然后判断是否是矩形 代码: #include<iostream> #include<cstdio> using namespace std; ],dis[]; ...
- MySQL Cluster --01
[MySQL Cluster] MySQL Cluster 是MySQL 官方集群部署方案, 支持自动分片.读写扩展:通过实时备份冗余数据.适合于分布式计算环境的高实用.高冗余版本,是可用性最高的方案 ...