中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

Java撲克牌順子怎么實(shí)現(xiàn)

本篇內(nèi)容主要講解“Java撲克牌順子怎么實(shí)現(xiàn)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Java撲克牌順子怎么實(shí)現(xiàn)”吧!

創(chuàng)新互聯(lián)公司是一家專業(yè)提供禹會(huì)企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、H5頁面制作、小程序制作等業(yè)務(wù)。10年已為禹會(huì)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

題目

LL今天心情特別好,因?yàn)樗ベI了一副撲克牌,發(fā)現(xiàn)里面居然有2個(gè)大王,2個(gè)小王(一副牌原本是54張^_^)...他隨機(jī)從中抽出了5張牌,想測(cè)測(cè)自己的手氣,看看能不能抽到順子,如果抽到的話,他決定去買體育彩票,嘿嘿?。 凹t心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是順子.....LL不高興了,他想了想,決定大\小 王可以看成任何數(shù)字,并且A看作1,J為11,Q為12,K為13。上面的5張牌就可以變成“1,2,3,4,5”(大小王分別看作2和4),“So Lucky!”。LL決定去買體育彩票啦?,F(xiàn)在,要求你使用這幅牌模擬上面的過程,然后告訴我們LL的運(yùn)氣如何, 如果牌能組成順子就輸出true,否則就輸出false。為了方便起見,你可以認(rèn)為大小王是0。

分析

就是一個(gè)數(shù)組,0表示大小王,可以當(dāng)癩子,其他的最小是1,最大是13,求給出的這個(gè)數(shù)組能否組成順子。

我們仔細(xì)想想一個(gè)正常的順子,比如6,7,8,9,10. 那最大值和最小值差為4,并且不能重復(fù)。所以我們應(yīng)該得出兩個(gè)結(jié)論。1,最大值和最小值相差小于等于4,為什么會(huì)小于4呢,因?yàn)橛邪]子0導(dǎo)致的。2.除了癩子0以外,其他的數(shù)字不能重復(fù)。

所以根據(jù)上面的條件我們就可以寫出算法了。求出最小值,最大值。

重復(fù)數(shù)字怎么判斷呢?先判斷是否為0,不為0,將這個(gè)數(shù)字作為腳標(biāo)存到另一個(gè)數(shù)組中,并計(jì)數(shù)加1,從而判斷是否重復(fù)。

解法

public boolean isContinuous(int [] numbers) {
       int count[]=new int[14];
       if(numbers==null|| numbers.length<1){
           return false;
       }
       int min=14;
       int max=0;
       for(int i=0;i<numbers.length;i++){
           if(numbers[i]==0){
               continue;
           }else if(count[numbers[i]]>0) {
          //如果存在重復(fù)的數(shù)字就返回false;
               return false;
           }else if(numbers[i]<min){
                   min=numbers[i];
           }else if(numbers[i]>max){
                   max=numbers[i];
           }
           count[numbers[i]]++;
       }
       if(max-min<5){
           return true;
       }
       return false;
   }

測(cè)試

main方法

public static void main(String[] args) {
       Solution solution=new Solution();
       int array[]={1,5,3,3,4,};
       System.out.println(solution.isContinuous(array));
   }

Java撲克牌順子怎么實(shí)現(xiàn)

番外

測(cè)試的時(shí)候發(fā)現(xiàn)牛客上的這道題測(cè)試用例不全。比如我最開始這樣寫的

for(int i=0;i<numbers.length;i++){
           if(numbers[i]==0){
               continue;
           }else if(numbers[i]==min||numbers[i]== max) {
            //如果存在重復(fù)的數(shù)字就返回false;
               return false;
           }else if(numbers[i]<min){
                   min=numbers[i];
           }else if(numbers[i]>max){
                   max=numbers[i];
           }
           count[numbers[i]]++;
       }

可以看到我通過

(numbers[i]==min||numbers[i]== max

來判斷是否存在重復(fù)的數(shù)字,其實(shí)這是不正確的,比如我是上面的測(cè)試用例1,5,3,3,4就不滿足上面的要求。Java撲克牌順子怎么實(shí)現(xiàn)

到此,相信大家對(duì)“Java撲克牌順子怎么實(shí)現(xiàn)”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁名稱:Java撲克牌順子怎么實(shí)現(xiàn)
分享路徑:http://www.rwnh.cn/article16/jijhgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、做網(wǎng)站、網(wǎng)頁設(shè)計(jì)公司品牌網(wǎng)站設(shè)計(jì)、云服務(wù)器、App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
东乡县| 历史| 漾濞| 万荣县| 西林县| 安徽省| 尼木县| 山西省| 巴楚县| 神农架林区| 嘉禾县| 宁乡县| 睢宁县| 衡阳市| 霍州市| 乾安县| 河西区| 儋州市| 田阳县| 革吉县| 孟连| 临清市| 大悟县| 通渭县| 全南县| 泰来县| 缙云县| 库伦旗| 恩平市| 榆社县| 东乡族自治县| 车致| 改则县| 潞城市| 苍梧县| 万盛区| 育儿| 宣武区| 玉树县| 青铜峡市| 顺平县|