剑指offer——扑克牌的顺子
思想:
1、先将输入的几个数进行排序,sort函数是#include<algorithm>下的。
2、统计0的个数,以及相邻数的差值,比较0的个数及差值的和。看是否可以用大王填充中间的差值。
#include <iostream>
#include <algorithm>
#include <stdlib.h>
#include <string>
using namespace std; bool IsContinuous(int *numbers,int length)
{
if(numbers==NULL || length<)
return false; sort(numbers,numbers+length); int NumOfZero = ; //0的个数
int NumOfGap = ; //空缺的个数
int i;
for(i=;i<length-;i++)
{
if(numbers[i] == )
NumOfZero++;
else
{
if(numbers[i] == numbers[i+])
return false;
else
NumOfGap += numbers[i+]-numbers[i]-;
}
}
return (NumOfGap>NumOfZero)?false:true;
} int main()
{
int n;
int arr[];
memset(arr,,sizeof(arr));
while(scanf("%d",&n)!=EOF && n!=)
{
int i;
for(i=;i<n;i++)
scanf("%d",arr+i); bool can = IsContinuous(arr,n);
if(can)
printf("So Lucky!\n");
else
printf("Oh My God!\n");
}
return ;
}
剑指offer——扑克牌的顺子的更多相关文章
- 剑指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 ,可以看成任意 ...
随机推荐
- Android下Fragment使用(全集)
1 http://blog.csdn.net/niu_gao/article/details/7163263 思路清晰,讲解详细,代码偏少,推荐高手阅读 2 http://blog.csdn.net ...
- C#中的隐藏方法
在C#中要重写基类的方法,C#提倡在基类中使用virtual来标记要被重写的方法,在子类也就是派生类中用voerride关键字来修饰重写的方法. 如果要是项目中前期考虑不足,我没有在基类(ClassA ...
- nginx uri和request_uri区别
$request_uri This variable is equal to the *original* request URI as received from the client includ ...
- php rsa加密解密实例 及签名验证-自己实践
<?php /** * Created by PhpStorm. * User: Administrator * Date: 2018/4/1 * Time: 1:50 */ //注意格式一 ...
- Apollo配置中心解惑(一):关于一个portal管理多个环境,要求环境相互之间不影响,独立
关于作者的回答很官方,不太懂: https://github.com/ctripcorp/apollo/wiki/%E5%88%86%E5%B8%83%E5%BC%8F%E9%83%A8%E7%BD% ...
- js 正则匹配 域名【host】
如果直接在js中是可以直接取到hostname的,以下方式是通过正则匹配: var url = "http://www.cnblogs.com/cench" var reg = / ...
- Python内置函数之str()
class str(object="")class str(object=b'', encoding='utf-8', errors='strict') 将其他对象转化为字符串对象 ...
- nginx 的uri、request_uri 区别
在nginx中有几个关于uri的变量,包括$uri $request_uri $document_uri,下面看一下他们的区别 : $request_uri: /stat.php?id=1585378 ...
- 配置LANMP环境(9)-- 安装Git与vsftp
一.安装Git 检查是否已经安装 git --version 安装 yum -y install git 二.安装vsftp 检查是否已经安装 yum list installed vsftpd 安装 ...
- Linux中openmpi配置
到 http://www.open-mpi.org/ 下载openmpi并解压,事先安装gcc或g++. 我是openmpi-1.6.5,进入解压文件夹,执行 ./configure 这一步执行时间会 ...