45 撲克牌順子

2021-09-27 18:44:08 字數 822 閱讀 1116

題目描述: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的運氣如何, 如果牌能組成順子就輸出true,否則就輸出false。為了方便起見,你可以認為大小王是0。

【分析】

ps:大小王可以當成任意數。

這裡可以使用乙個技巧,即利用乙個flag記錄每個數字出現的次數。具體實現直接看**吧,**有詳細注釋。

class solution 

if(curnum == 0)//繼續

if((flag >> curnum) & 1 == 1)// 如果數字出現了一次

//按位儲存數字出現次數,比如0110表示,0出現0次,1出現1次,2出現1次,3出現0次。

flag |= 1 << curnum;

if(curnum < min)//更新最小值

// 更新最大值

if(curnum > max)

if(max - min >= 5)//超過範圍一定不是順子

}return true;

}};

45 撲克牌順子

題目描述 從撲克牌中隨機抽5張,判斷是不是乙個順子,即這5張牌是不是連續的。2 10為數字本身,a為1,j為11,q為12,k為13,而大 小王可以看成任意數字。本題中好像不考慮一副牌中只有倆大小王的事實 書上的方法 思路 首先把陣列排序,再統計陣列中0的個數,最後統計排序之後的陣列中相鄰數字之間的...

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不高興了,他想了想,...