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


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

    java代码:

    //扑克牌中的顺子。通过测试
    //随机5张牌,大小王代表任意数
    import java.util.*;
    public class PlayingCards{
        public static void main(String[] args){
            int data[]={5,7,8,9,0};    
            System.out.println(playingCards(data));
        }
        public static boolean playingCards(int data[]){
            if(data==null||data.length<1){
                return false;
            }
            int gap = 0;
            int kings = 0 ;
            Arrays.sort(data);
            for(int i=0; i<data.length&&data[i]==0; i++){
                kings++;
            }
            int j=kings;
            while(j<data.length-1){
                if(data[j]==data[j+1]){
                    return false;
                }
                gap+=data[j+1]-data[j]-1;//!!! +=
                j++;
            }
            return (kings>=gap)?true:false;
        }
    }
    
        

    c代码:

    #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)); }
  • 相关阅读:
    ExtJS小试 TreePanel
    ExtJS 之panel tabpanel 和window 的简单使用
    ExtJs2.1未知明错误
    Extjs xtype
    ibatis 初体验
    MS数据库分页
    EXTJS 简单登陆
    php5.2.9 apache2.2 mysql5.1 phpMyAdmin3.2配置
    安装配置Ruby for Eclipse
    ExtJs之gridPanel初探
  • 原文地址:https://www.cnblogs.com/seven7seven/p/3668951.html
Copyright © 2020-2023  润新知