剑指offer-43 扑克牌的顺子
来源:互联网 发布:维棠flv下载器 mac 编辑:程序博客网 时间:2024/05/16 15:28
一、解决步骤
1、对数组排序
2、找出0的个数
3、找出空缺的位置
#include <iostream>#include <cstdlib>using namespace std;bool IsContinuous(int *number,int length);int compare(const void* arg1,const void* arg2);/* 1、对数组排序 2、找出0的个数 3、找出空缺的位置*/bool IsContinuous(int *number,int length){ if(number == nullptr || length<5) return false; qsort(number,length,sizeof(int),compare); int numberofzero = 0,numberofgap = 0; for(int i = 0;i<length && number[i]==0;i++) numberofzero++; int small = numberofzero; int big = small+1; while(big < length) { //有对子 if(number[small]==number[big]) return false; //排序后,number[0],number[1]....number[small-1] 都是0 //number[small]是第一个非0元素,number[big] 是第二个非0元素 numberofgap += number[big]-number[small]-1; small = big; big++; } return (numberofgap>numberofzero) ? false:true;}int compare(const void* arg1,const void* arg2){ return *((int*)arg1)-*(int*)arg2;}int main(){ int a[] = {1,3,5,0,6}; cout<<IsContinuous(a,5)<<endl; return 0;}
0 0
- 剑指offer-43 扑克牌的顺子
- 【剑指offer】扑克牌的顺子
- [剑指offer]扑克牌的顺子
- 剑指offer 扑克牌的顺子
- 剑指offer--扑克牌顺子
- 《剑指offer》扑克牌顺子
- 剑指offer:扑克牌顺子
- 剑指offer:扑克牌顺子
- 剑指offer:扑克牌顺子
- [剑指offer]扑克牌顺子
- 剑指offer|扑克牌顺子
- 剑指offer|扑克牌顺子
- 《剑指offer》-扑克牌顺子
- 剑指Offer: 扑克牌顺子
- 剑指offer-扑克牌顺子
- 剑指offer--扑克牌顺子
- 剑指offer 扑克牌顺子
- 剑指offer-扑克牌顺子
- 加密算法
- 面向对象设计原则之里氏代换原则
- Linux写时拷贝技术(copy-on-write)
- RTX无法发送图片, 文件
- jva反射详解
- 剑指offer-43 扑克牌的顺子
- POJ 3304 Segments
- 生动形象的Eclipse快捷键整理,来源tank真的很棒!
- 重载-参数含有设置默认值
- Linux 多线程目录遍历
- 移动大数据管理平台实践
- Apache Qpid:一个AMQP的开源实现
- Mac OS X 10.10上的SIP Server的安装和配置(kamailio)
- PHP笔记