劍指Offer對答如流系列 撲克牌的順子

2021-10-02 11:33:45 字數 697 閱讀 6578

從撲克牌中隨機抽5張牌,判斷是不是乙個順子,即這5張牌是不是連續的。

2~10為數字本身,a為1,j為11,q為12,k為13,而大、小王可以看成任意數字。

這道題演算法思想還是比較簡單的。

記大小王記為0,具體步驟如下:

進行對5張牌進行排序;

找出0的個數;

算出相鄰數字的空缺總數;

如果0的個數大於等於空缺總數,說明連續,反之不連續;

記得判斷相鄰數字是否相等,如果有出現相等,說明不是順子。

public

boolean

iscontinuous

(int

numbers)

arrays.

sort

(numbers)

;int numberof0 =0;

int numberofgap =0;

for(

int i=

0; iint small = numberof0;

int big = numberof0+1;

while

(bignumberofgap += numbers[big++

]-numbers[small++]-

1;}// 大於等於

return numberof0 >= numberofgap;

}

劍指Offer對答如流系列 撲克牌的順子

從撲克牌中隨機抽5張牌,判斷是不是乙個順子,即這5張牌是不是連續的。2 10為數字本身,a為1,j為11,q為12,k為13,而大 小王可以看成任意數字。這道題演算法思想還是比較簡單的。記大小王記為0,具體步驟如下 進行對5張牌進行排序 找出0的個數 算出相鄰數字的空缺總數 如果0的個數大於等於空缺...

劍指Offer對答如流系列 醜數

我們把只包含質因子2 3和5的數稱作醜數 ugly number 求按從小到大的順序的第n個醜數。例如6 8都是醜數,但14不是,因為它包含質因子7。習慣上我們把1當做是第乙個醜數。判斷乙個數是不是醜數,最容易想到的方法就是讓這個數不斷除以2,3,5。對於第n個醜數,只要從1開始,依次判斷每個數是不...

劍指Offer對答如流系列 剪繩子

給你一根長度為n繩子,請把繩子剪成m段 m n都是整數,n 1並且m 1 每段的繩子的長度記為k 0 k 1 k m k 0 k 1 k m 可能的最大乘積是多少?例如當繩子的長度是8時,我們把它剪成長度分別為2 3 3的三段,此時得到最大的乘積18。遇到問題,先分析問題,由分析的結果確定所運用的演...