從撲克牌中隨機抽 5 張牌,判斷是否為順子。規則:2-10 為本身數字,A=1,J=11,Q=12,K=13,大小王可視為任意數字(用 0 表示)。
bool IsContinuous(int* cards, int length) {
if (cards == NULL || length <= 0) return false;
sort(cards, cards + length);
int zeroCount = 0;
for (int i = 0; i < length; ++i)
if (cards[i] == 0) zeroCount++;
int gapCount = 0;
int prev = cards[zeroCount]; // 第一個非 0 牌
for (int i = zeroCount + 1; i < length; ++i) {
int cur = cards[i];
if (cur == prev) return false; // 重複牌
gapCount += cur - prev - 1; // 累加間隙
prev = cur;
}
return gapCount <= zeroCount;
}