zoukankan      html  css  js  c++  java
  • 剑指offer——扑克牌的顺子

    思想:

    1、先将输入的几个数进行排序,sort函数是#include<algorithm>下的。

    2、统计0的个数,以及相邻数的差值,比较0的个数及差值的和。看是否可以用大王填充中间的差值。

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <stdlib.h>
     4 #include <string>
     5 using namespace std;
     6 
     7 
     8 bool IsContinuous(int *numbers,int length)
     9 {
    10     if(numbers==NULL || length<1)
    11         return false;
    12 
    13     sort(numbers,numbers+length);
    14 
    15     int NumOfZero = 0;        //0的个数
    16     int NumOfGap = 0;  //空缺的个数
    17     int i;
    18     for(i=0;i<length-1;i++)
    19     {
    20         if(numbers[i] == 0)
    21             NumOfZero++;
    22         else
    23         {
    24             if(numbers[i] == numbers[i+1])
    25                 return false;
    26             else
    27                 NumOfGap += numbers[i+1]-numbers[i]-1;
    28         }
    29     }
    30     return (NumOfGap>NumOfZero)?false:true;
    31 }
    32 
    33 int main()
    34 {
    35     int n;
    36     int arr[15];
    37     memset(arr,0,sizeof(arr));
    38     while(scanf("%d",&n)!=EOF && n!=0)
    39     {
    40         int i;
    41         for(i=0;i<n;i++)
    42             scanf("%d",arr+i);
    43         
    44         bool can = IsContinuous(arr,n);
    45         if(can)
    46             printf("So Lucky!
    ");
    47         else
    48             printf("Oh My God!
    ");
    49     }
    50     return 0;
    51 }



  • 相关阅读:
    C++中的指针和数组
    windows系统下JDK1.6环境变量配置
    Java Reflection (JAVA反射)
    转载:cin深入分析(下) – cin的错误处理
    OpenGL总结
    OpenGL纹理
    c/C++内存分配
    转载:cin深入分析(上) – cin输入操作处理
    c++中string的用法
    OpenGL颜色
  • 原文地址:https://www.cnblogs.com/dgy5554/p/3973386.html
Copyright © 2011-2022 走看看