撲克牌順子

2021-08-14 21:58:53 字數 864 閱讀 8643

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。

解決思路是先排序,檢查是否有空缺,檢查0的個數,看0能不能把空缺補齊。

另外,如果除了0之外,還有對子,則肯定不是順子,提前排除。

注意幾個點:

檢查空缺數目和判斷對子可以用一套迴圈解決,這個迴圈起始位置就是第乙個不是0的位置。

最後判斷返回值,只要gap數目小於0的數目就可以。特例,[0,0,0,0,3],此時這些0分別代表1,2,4,5。0有四個,gap是0,是否意味著沒有gap?並不是,原因是陣列裡只有乙個數字,只要在他周圍填補就可以。

gapcount計數可以不加判斷,因為計數公式本身如果是連續的,加的就是0.

bool iscontinuous( vector

numbers )

for(int i = zerocount; i < len-1;i++) // 0以外檢查空缺數目

cout

return

true;

else

return

false;

}

撲克牌順子

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

撲克牌順子

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

撲克牌順子

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