劍指Offer 撲克牌順子Java Python

2021-09-22 17:55:25 字數 1149 閱讀 6451

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。

5張牌都是0~13的。

不能組成順子的情況如下:

1.牌的總數不為5

2.牌**現重複的數字

3.除了0之外(0代表大小王),牌中的最大值與最小值的差》=5

那麼剩下情況的必然會是順子。

public class solution {

public boolean iscontinuous(int numbers) {

if(numbers == null || numbers.length != 5)

return false;

int card = new int[14];//用來記錄1~13 會不會出現兩次

int max = -1;//用來記錄5張牌中的最大值

int min = 14;//用來記錄5張牌中的最小值

for(int e:numbers){

if(e == 0)

continue;

card[e]++;

if(card[e] >= 2)

return false;

if(e>max)

max = e;

if(e=2:

return false

if max_card < e:

max_card = e

if min_card > e:

min_card = e

if max_card-min_card<5:

return true

else:

return false

劍指offer 撲克牌順子

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

劍指offer 撲克牌順子

劍指offer 撲克牌順子.cpp 定義控制台應用程式的入口點。題目描述 輸入五個數字,0可以代表任何數,問這五個數字是否是乙個順子 思路 排序後計算非0的相鄰兩個數之間的距離 gap 然後與0 大小王 的數量進行比較,看是否小於這個count include stdafx.h include ve...

劍指offer 撲克牌順子

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