zoukankan      html  css  js  c++  java
  • 卡牌分组

    满足最小分组的长度为其他分组的整数倍

    export default (arr) => {
      // 对这副牌进行排序,升序、降序都可以
      arr.sort((a, b) => a - b)
      let min = Number.MAX_SAFE_INTEGER
      let dst = []
      let result = true
      for (let i = 0, len = arr.length, tmp = []; i < len; i++) {
        tmp.push(arr[i])
        for (let j = i + 1; j < len - 1; j++) {
          if (arr[i] === arr[j]) {
            tmp.push(arr[j])
          } else {
            if (min > tmp.length) {
              min = tmp.length
            }
            // 因为数组为引用类型,直接push会导致出错
            dst.push([].concat(tmp))
            tmp.length = 0
            i = j
            break
          }
        }
      }
      dst.every(item => {
        if (item.length % min !== 0) {
          result = false
          return false
        }
      })
      return result
    }
    
    
    
  • 相关阅读:
    2020/5/8
    2020/5/8
    2020/5/6
    2020/4/30
    2020/4/29
    2020/4/28
    2020/4/27
    KMP算法详解
    博客搬家声明
    洛谷P2831 NOIP2016 愤怒的小鸟
  • 原文地址:https://www.cnblogs.com/treeskyer/p/13473430.html
Copyright © 2011-2022 走看看