日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

剑指Offer(Java实现)扑克牌顺子

發(fā)布時間:2025/4/16 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 剑指Offer(Java实现)扑克牌顺子 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

撲克牌順子

題目描述

LL今天心情特別好,因為他去買了一副撲克牌,發(fā)現(xiàn)里面居然有2個大王,2個小王(一副牌原本是54張_)…他隨機從中抽出了5張牌,想測測自己的手氣,看看能不能抽到順子,如果抽到的話,他決定去買體育彩票,嘿嘿!!“紅心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決定去買體育彩票啦。 現(xiàn)在,要求你使用這幅牌模擬上面的過程,然后告訴我們LL的運氣如何, 如果牌能組成順子就輸出true,否則就輸出false。為了方便起見,你可以認(rèn)為大小王是0。

解題思路

(1)用數(shù)組記錄五張撲克牌,并將數(shù)組調(diào)整為有序的;

(2)判斷0出現(xiàn)的次數(shù) >= 順子的差值:

? 若為真,則為順子;若為假,則不為順子;

注釋:當(dāng)按序排列的5張牌出現(xiàn)差值時,只有通過大小王才能進行“補救”,若大小王的張數(shù)(即0出現(xiàn)的次數(shù))大于或等于所有牌的差值總和才能成功“補救”,組成順子,否則不成順子。

代碼實現(xiàn)

import java.util.*;public class Solution {public boolean isContinuous(int [] numbers) {if (null == numbers || 0 == numbers.length) {return false;}int count = 0;int diff = 0;Arrays.sort(numbers);for (int i = 0; i < numbers.length - 1; i++) {if (0 == numbers[i]) {count ++;continue;}if (numbers[i] != numbers[i+1]) {diff += numbers[i+1] - numbers[i] - 1;} else {return false;}}if (count >= diff) {return true;}return false;} }

總結(jié)

以上是生活随笔為你收集整理的剑指Offer(Java实现)扑克牌顺子的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。