题目链接

牛客网

题目描述

五张牌,其中大小鬼为癞子,牌面为 0。判断这五张牌是否能组成顺子。

解题思路

import java.util.*;
public class Solution {
   
    public boolean isContinuous(int [] nums) {
   
        if (nums==null || nums.length<5) return false;
        int cnt = 0;
        Arrays.sort(nums);
        // 统计癞子数量
        for (int i=0;i<nums.length;i++) 
            if (nums[i]==0) cnt++;
        // 使用癞子去补全不连续的顺子
        for (int i=cnt;i<nums.length-1;i++) {
   
            if (nums[i]==nums[i+1]) return false;
            cnt -= nums[i+1]-nums[i]-1;
        }
        return cnt>=0;
    }
}