45 撲克牌順子

2021-08-02 07:57:35 字數 636 閱讀 3281

題目描述:從撲克牌中隨機抽5張,判斷是不是乙個順子,即這5張牌是不是連續的。2~10為數字本身,a為1,j為11,q為12,k為13,而大、小王可以看成任意數字。(本題中好像不考慮一副牌中只有倆大小王的事實)

書上的方法

思路:首先把陣列排序,再統計陣列中0的個數,最後統計排序之後的陣列中相鄰數字之間的空缺總數。如果空缺的總是小於或者等於0的個數,那麼這個陣列就是連續的;反之則不連續。

還需要注意的一點:如果陣列中的非0數字重複出現,說明陣列中出現了對子,所以不可能是順子。

tips:

統計陣列中的間隔數目的方法不錯,相當於雙指標吧

**:

class solution 

//計算陣列中的間隔數目

int small = numof0;//前面是0,從第numof0開始是正常牌

int big = small+1;

while(big < numbers.size())

//下面注釋了的返回方式是錯誤的,考慮它倆相等的情況

//return (numof0 > numofgap) ? true : false;

return numofgap > numof0 ? false :true;

}};

45 撲克牌順子

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

45 撲克牌順子

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

Q45 撲克牌順子

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