剑指offer——扑克牌的顺子
2014-09-06 16:39
246 查看
思想:
1、先将输入的几个数进行排序,sort函数是#include<algorithm>下的。
2、统计0的个数,以及相邻数的差值,比较0的个数及差值的和。看是否可以用大王填充中间的差值。
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<1) return false; sort(numbers,numbers+length); int NumOfZero = 0; //0的个数 int NumOfGap = 0; //空缺的个数 int i; for(i=0;i<length-1;i++) { if(numbers[i] == 0) NumOfZero++; else { if(numbers[i] == numbers[i+1]) return false; else NumOfGap += numbers[i+1]-numbers[i]-1; } } return (NumOfGap>NumOfZero)?false:true; } int main() { int n; int arr[15]; memset(arr,0,sizeof(arr)); while(scanf("%d",&n)!=EOF && n!=0) { int i; for(i=0;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 0; }
相关文章推荐
- 剑指offer面试题 扑克牌的顺子
- 剑指offer-扑克牌顺子
- 剑指Offer44 扑克牌的顺子
- 【剑指Offer面试编程题】题目1355:扑克牌顺子--九度OJ
- 剑指offer 44. 扑克牌的顺子
- 【剑指offer】之扑克牌的顺子
- 【剑指offer】扑克牌的顺子
- 剑指offer:扑克牌的顺子(java)
- 剑指Offer解题报告(Java版)——扑克牌顺子 44
- 剑指Offer(61)扑克牌中的顺子
- 剑指offer——扑克牌顺子(思路,bitmap思想,位运算)
- 剑指Offer - 九度1355 - 扑克牌顺子
- 剑指offer 扑克牌顺子
- 剑指Offer--044-扑克牌顺子
- 剑指offer:扑克牌顺子
- 【剑指offer】扑克牌的顺子
- 剑指offer 扑克牌的顺子
- 剑指offer 把字符串转换成整数 扑克牌顺子
- 剑指offer_扑克牌顺子
- 剑指offer面试题之扑克牌顺子