zoukankan      html  css  js  c++  java
  • 剑指offer-第六章面试中的各项能力(扑克牌中的顺子)

    //扑克牌的顺子
    //题目:在一个扑克牌中随机的抽5张牌,看是不是顺子。大小王为0,A为1,J为11,Q为12,K为13.其他数字为自己本身。
    //思路:大小王可以代表任意一个数字,因此我们在看是不是顺子之前要先对数字进行排序,数出0的个数。
    //如果相连的两个数字之间相差的总数是超出0的个数,那么就不是顺子,否则就是
    public class IsContinue {
         public void bubbleSort(int[] a){
             if(a==null)
                 return;
             //要进行n-1趟排序
             for(int i=0;i<a.length;i++){
                 for(int j=0;j<a.length-i-1;j++){
                     if(a[j]>a[j+1])
                         swrap(a,j,j+1);
                 }
             }
         }
    
        public void swrap(int[] a, int j, int i) {
            int temp=a[i];
            a[i]=a[j];
            a[j]=temp;
        }
        public boolean isContinues(int[] a){
            bubbleSort(a);
            int count=0;
            for(int i=0;i<a.length;i++){
                if(a[i]==0)
                    count++;
                else
                    break;
            }
            int small=count;//指向非零的数中的较小的数
            int big=count+1;//指向较大的数
            int interval=0;//较大的数减去相连的较小的数再减1后剩下的数。
            for(;big<a.length;big++){
                if(a[small]==a[big])//有对子,就不是顺子。
                    return false;
                interval+=a[big]-a[small]-1;
                small=big;
            }
            if(interval>count)
                return false;
            return true;
        }
        public static void main(String[] args){
            int[] a={0,8,5,6,3};
            IsContinue isContinue=new IsContinue();
            isContinue.bubbleSort(a);
            for(int i:a)
                System.out.print(i+" ");
            System.out.println();
            if(isContinue.isContinues(a))
                System.out.println("是顺子");
            else
                System.out.println("不是顺子");
            
        }
    }
  • 相关阅读:
    SortedList的使用示例
    oracle 查询
    sql group by统计
    删除隐藏盘符的隐藏共享,打开隐藏盘符
    【C#】Entity Framework 增删改查和事务操作
    CSS rem长度单位
    HTML 页面meta标签
    VUE 生成二维码(qrcodejs)
    VUE 密码验证与提示
    JavaScript 加解密库(crypto-js)
  • 原文地址:https://www.cnblogs.com/hupp/p/4773003.html
Copyright © 2011-2022 走看看