面試題61 撲克牌中的順子

2021-10-05 15:46:17 字數 1020 閱讀 4833

題目:從撲克牌中隨機抽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

解釋:1,2,5中間缺2個數,這時0有2個,萬能,所以true

限制:陣列長度為 5 ;陣列的數取值為 [0, 13] 。

我們先理解一下什麼是順子:連續且不包含對子的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 ...