扑克牌顺子

描述:从扑克牌中随机抽5 张牌,判断是不是一个顺子,即这5 张牌是不是连续的。2-10 为数字本身,A 为1,J 为11,Q 为12,K 为13,而大小王可以看成任意数字

 

// 数组长度不为5则不是顺子
// 数组排序
// 如果出现对子(相邻数字相等)不是顺子
// 统计大小王(0)个数
// 统计相邻数字间的间隔
// 如果大小王个数大于等于相邻数字间隔(大小王可以替代任何数字)则为顺子
// numbers=[2,3,0,5,6],则0可以做4用

 

function IsContinuous(numbers) {
    // write code here
    let len = numbers.length;
    let numOfZero = 0;
    let numOfInterval = 0;
    if (len !== 5) {
        return false;
    }
    numbers.sort(function (a, b) {
        return a - b;
    });
    for (let i = 0; i < len - 1; i++) {
        if (numbers[i] === 0) {
            numOfZero++;
            continue;
        }
        if (numbers[i] === numbers[i + 1]) {
            return false;
        }
        numOfInterval += numbers[i + 1] - numbers[i] - 1;
    }
    if (numOfZero >= numOfInterval) {
        return true;
    }
    return false;
  }

 

  

posted @ 2019-05-23 19:46  萝卜爱吃青菜  阅读(895)  评论(0编辑  收藏  举报