劍指Offer 61 撲克牌中的順子

2021-08-16 02:49:27 字數 799 閱讀 1895

題目描述

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的運氣如何。為了方便起見,你可以認為大小王是0。

class solution ;

//初始化最大值和最小值

int max=-1;

int min=14;

for(int i=0;i//統計每個元素的出現次數

sum[numbers[i]]++;

//如果為零繼續

if(numbers[i]==0)

continue;

if(sum[numbers[i]]>1)

return

0; //獲取最大值和最小值

if(numbers[i]>max)

max=numbers[i];

if(numbers[i]if((max-min)<5)

return

1; return

0; }

};

劍指 Offer 61 撲克牌中的順子

題目如所示。這道題目,其實一看到陣列就能判斷是不是能成為順子,關鍵是要把人的思維轉換成計算機的語言。此題主要用到了三個邏輯來判斷。利用arrays.sort 將陣列排序,便於迴圈判斷。判斷陣列中是否有對子出現,若有對子 兩個數一樣 則肯定不能成為順子。表現為,判斷陣列中前後兩個數大小是相等。計算出陣...

劍指 Offer 61 撲克牌中的順子

總結 從撲克牌中隨機抽5張牌,判斷是不是乙個順子,即這5張牌是不是連續的。2 10為數字本身,a為1,j為11,q為12,k為13,而大 小王為 0 可以看成任意數字。a 不能視為 14。示例 1 輸入 1 2,3 4,5 輸出 true示例 2 輸入 0 0,1 2,5 輸出 true限制 陣列長...

劍指offer 61 撲克牌中的順子

題目鏈結 題目描述 從撲克牌中隨機抽5張牌,判斷是不是乙個順子,即這5張牌是不是連續的。2 10為數字本身,a為1,j為11,q為12,k為13,而大 小王為 0 可以看成任意數字。a 不能視為 14。示例 1 輸入 1,2,3,4,5 輸出 true 示例 2 輸入 0,0,1,2,5 輸出 tr...