題目:從撲克牌中隨機抽5張牌,判斷是不是乙個順子,即這5張牌是不是連續的。2~10為數字本身,a為1,j為11,q為12,k為13,而大、小王為 0 ,可以看成任意數字。a 不能視為 14。
示例:
示例 1:
輸入: [1,2,3,4,5]示例 2:輸出: true
輸入: [0,0,1,2,5]限制:陣列長度為 5 ;陣列的數取值為 [0, 13] 。輸出: true
解釋:1,2,5中間缺2個數,這時0有2個,萬能,所以true
我們先理解一下什麼是順子:連續且不包含對子的5張牌。
這個題目簡單理解就是判斷數字順序,:
bool
isstraight
(vector<
int>
& nums)
if(isize()
-1)//用萬能牌補充順序缺口}}
if(count<0)
//判斷是否補夠了
else
return
true
;}
我們先想乙個事情,如果5張牌,最大數為6,最小數為2,那麼需要幾張牌才可以構成順子,答案是2,3,4,5,6即6-2+1=5張牌,所以我們可以得出如果陣列中最大數為m,最小數為n,那麼構成順子需要的牌數為m-n+1張。那麼我們就可以通過牌數來判斷是否可以構成順子。
bool
isstraight
(vector<
int>
& nums)
int count=max-min+1;
if(count<=5)
return
true
;else
return
false
;}
加油哦!?。 面試題61 撲克牌順子
題目描述 ll今天心情特別好,因為他去買了一副撲克牌,發現裡面居然有2個大王,2個小王 一副牌原本是54張 他隨機從中抽出了5張牌,想測測自己的手氣,看看能不能抽到順子,如果抽到的話,他決定去買體育彩票,嘿嘿!紅心a,黑桃3,小王,大王,方片5 oh my god 不是順子 ll不高興了,他想了想,...
面試題61 撲克牌中的順子
ll今天心情特別好,因為他去買了一副撲克牌,發現裡面居然有2個大王,2個小王 一副牌原本是54張 他隨機從中抽出了5張牌,想測測自己的手氣,看看能不能抽到順子,如果抽到的話,他決定去買體育彩票,嘿嘿!紅心a,黑桃3,小王,大王,方片5 oh my god 不是順子.ll不高興了,他想了想,決定大 小...
leetcode 面試題61 撲克牌中的順子
class solution def isstraight self,nums list int bool joker 0 nums.sort 陣列排序 for i in range 4 if nums i 0 joker 1 統計大小王數量 elif nums i nums i 1 return ...