劍指Offer第44題(撲克牌的順子)

2021-10-02 16:28:04 字數 674 閱讀 2907

(本部落格旨在個人總結回顧)

題目描述:

從撲克牌中隨機抽5張牌,判斷是不是乙個順子,即這5張牌是不是連續的。2~10為數字本身,a為1,j為11,q為12,k為13,而大、小王可以看成任意數字。

解題思路:

大小王使用0來表示,先將陣列排序,然後計算0的個數,和非0已排序的相隔的兩個數之間需要補充的個數。並排除對子(元素相等)的情況。

原始碼:

#include "stdafx.h"

#includeusing namespace std;

int compare(const void* arg1, const void* arg2)

bool iscontinuous(int* numbers, int length)

qsort(numbers, length, sizeof(int), compare);

int numberofzero = 0;

int numberofgap = 0;

//統計陣列中0的個數

for (int i = 0; i < length; i++)

{if (0 == numbers[i])

{numberofz

劍指offer(44)撲克牌順子

19.2.27 題目描述 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不高興了,他想了想,決定大 小...

劍指offer 第45題 撲克牌順子

思路 先統計王的數量,如果後面乙個數比前面乙個數大於1以上,那麼中間的差值就必須用王來補了。public class t 45 iscontinuous int zero 0 int c 0 統計i和i 1之間的差值,看需要多少個王來補,比如4和7,7 4 1 2,需要2個王來補 arrays.so...