劍指offer 45撲克牌順子

2021-08-27 03:15:43 字數 798 閱讀 1657

題目描述

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。

分析:

1. 對陣列排序;

2. 統計排序後的陣列中0的個數;

3. 統計排序後的陣列中相鄰數字之間的空缺總數;

4. 如果空缺總數小於或者等於0的個數,那麼這個陣列就是順子,否則不是。

class solution 

sort(numbers.begin(),numbers.end());

int numofzero=0;

for(int i=0;iif(numbers[i]==0)

}int gap=0;

for(int i=numofzero;i1;i++)

gap+=numbers[i+1]-numbers[i]-1;//統計相鄰數字間隔數

}return (gap>numofzero)?false:true;

}};

劍指offer 45 撲克牌順子

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

劍指offer 45 撲克牌順子

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

劍指offer45 撲克牌順子

判斷陣列能否構成撲克牌順子,其中0可以代表任何數。滿足陣列長度為5,除0外其它數個數不超過1,除0外其它數相差小於等於4即可 coding utf 8 class solution def iscontinuous self,numbers write code here 陣列長度為5,除0外其它數...