跳至主要內容

扑克牌顺子

微信公众号:储凡Less than 1 minute

扑克牌顺子

题目链接

题目描述

刷题思路

代码实现

/**
 * 【中等】扑克牌顺子
 */
export function IsContinuous(numbers) {
  numbers = numbers.sort((a, b) => a - b)

  // 判断0的个数
  let count = 0
  for (let index = 0; index < numbers.length; index++) {
    if (numbers[index] === 0) {
      count++
    }
  }
  // 不允许5个0
  if (count > 4) {
    return false
  }

  // 4个0的时候,一定成立
  if (count === 4) {
    return true
  }

  // 判断每个的间隔
  for (let index = 0; index < numbers.length - 1; index++) {
    if (numbers[index] !== 0 && numbers[index + 1] - numbers[index] > 1) {
      // console.log(count, (numbers[index + 1] - numbers[index]))
      count -= (numbers[index + 1] - numbers[index] - 1)
    }
  }

  return count === 0
}

一些建议