劍指offer 面試題44 撲克牌中的順子

2021-09-21 13:08:08 字數 724 閱讀 6178

劍指offer:面試題44——撲克牌中的順子

題目:ll今天心情特別好,因為他去買了一副撲克牌,發現裡面居然有2個大王,2個小王(一副牌原本是54張_)…他隨機從中抽出了5張牌,想測測自己的手氣,看看能不能抽到順子,如果抽到的話,他決定去買體育彩票,嘿嘿!!「紅心a,黑桃3,小王,大王,方片5」,「oh my god!」不是順子…ll不高興了,他想了想,決定大\小 王可以看成任何數字,並且a看作1,j為11,q為12,k為13。上面的5張牌就可以變成「1,2,3,4,5」(大小王分別看作2和4),「so lucky!」。ll決定去買體育彩票啦。 現在,要求你使用這幅牌模擬上面的過程,然後告訴我們ll的運氣如何, 如果牌能組成順子就輸出true,否則就輸出false。為了方便起見,你可以認為大小王是0。

思路:陣列排序,統計0的個數,用0去填補空缺,重新統計看是否有空缺,若有則不是

需要注意的點在注釋中給出

class solution 

int j=numofzero;

//遍歷應該從第乙個非0位置開始

while

(jsize()

)//如果不相鄰,比較剩餘的0和空缺的值,如果空缺大於0的數目,返回false,否則更新0的值

else

if(numbers[j+1]

-numbers[j]

>1)

j++;}

return true;}}

;

劍指Offer 面試題44 撲克牌的順子

撲克牌的順子 從撲克牌中隨機抽出5張牌,判斷是不是乙個順子,即這5張牌是不是連續的。2 10為數字本身,a為1,j為11,q為12,k為13,而大小王可以看成任意數字。分析 如何確定5個數字是連續的?難道用累加判斷 過程 1把陣列排序,2統計0的個數,3統計陣列中相鄰元素之間的空缺總數 如果空缺總數...

劍指offer 面試題44 撲克牌的順子

題目 ll今天心情特別好,因為他去買了一副撲克牌,發現裡面居然有2個大王,2個小王 一副牌原本是54張 他隨機從中抽出了5張牌,想測測自己的手氣,看看能不能抽到順子,如果抽到的話,他決定去買體育彩票,嘿嘿!紅心a,黑桃3,小王,大王,方片5 oh my god 不是順子.ll不高興了,他想了想,決定...

劍指Offer學習 面試題44 撲克牌的順子

總體思路 快拍 判斷0的個數 從第乙個非0位置。兩個差1index快慢指標,統計快慢指標位置是否是同樣元素,如果是那麼不是順子,如果不是那麼統計快指標和慢指標斷層的和 也就是相差大於1 最後對比0的個數是否大於等於斷層的數字。我們可以把5張牌看成由5個數字組成的陣列。大 小王是特殊的數字,我們不妨把...