首页 > 其他 > 详细

扑克牌中的顺子(网易2014.3.16笔试offerP226)

时间:2014-04-17 08:24:07      阅读:477      评论:0      收藏:0      [点我收藏+]

题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J~K为11,12,13,而大小王可以看成任意数字。(网易要求必须用C完成,可以用C库函数)

bubuko.com,布布扣
#include <iostream>
#include <stdio.h>
using namespace std;
//自己写的代码,大小王看成是0
int compare(const void *arg1, const void *arg2)
{
    return *(int*)arg1-*(int*)arg2;
}
void isContinuous(int *array,int size) { if(array==NULL||size<1) { cout<<"wrong input!"<<endl; return; } qsort(array,size,sizeof(int),compare);//C的库函数,排序,时间复杂度O(nlogn) int gap=0; int king=0; for(int i=0;i<size;i++) { if(array[i]==0){ king++; } else if(i<size-1) { if(array[i]==array[i+1])//有相同点数的时候,不可能是顺子 { cout<<"not continuous!"<<endl; return; } else { gap+=(array[i+1]-array[i]-1); } } }//for if(gap>king) { cout<<"not continuous!"<<endl; return; } else { cout<<"is continuous!"<<endl; return; } }
int main(){ int array[]={0,4,1,0,5}; isContinuous(array,sizeof(array)/sizeof(int)); }
bubuko.com,布布扣

 

扑克牌中的顺子(网易2014.3.16笔试offerP226),布布扣,bubuko.com

扑克牌中的顺子(网易2014.3.16笔试offerP226)

原文:http://www.cnblogs.com/seven7seven/p/3668951.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!