美文网首页
求最优算法

求最优算法

作者: ThemisHoo | 来源:发表于2019-07-15 14:50 被阅读0次

    实现随机生成四个数字,要求:

    0,1,4,7 不能同时出现,例如 1234。
    不能同时出现两个以上相同数字,例如 5255

    下面我的实现方法,总觉得有些麻烦了

        let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
        let num = []
        let count = 0
        while(count < 4) {
            let rand = Math.floor( Math.random() * arr.length )
            let data = arr[rand];
          /* 
           * 实现不能同时出现相同数字
           * if(num.indexOf(data) !== -1) {
           *     continue
           * }
          **/
            // ------------
            // 中间这部分实现 最多两个数字相同
            let sn = 0
            num.forEach((e) => {
                if (data == e) {
                    sn ++
                }
            })
            if (sn >= 2) {
                continue
            }
            // --------------
            num.push(data)
            count ++
            if (data === 0 || data === 1 || data === 4 || data === 7) {
                arr = [2, 3, 5, 6, 8, 9]
            }
        }
        num = num.toString().split(',').join('')
    

    相关文章

      网友评论

          本文标题:求最优算法

          本文链接:https://www.haomeiwen.com/subject/unjnkctx.html