美文网首页
求最优算法

求最优算法

作者: 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('')

相关文章

  • 求最优算法

    实现随机生成四个数字,要求: 0,1,4,7 不能同时出现,例如 1234。不能同时出现两个以上相同数字,例如 5...

  • 动态规划

    与贪心算法求局部最优解相比,动态规划求的是全局最优解(但不是每个问题都有最优解,比如NP完全问题就没有最优解) 例...

  • 梯度下降

    梯度下降法 基于搜索的最优化算法,之前我们使用线性回归时最优的参数都是求正规方程解,但是很多时候求最优方程解时间复...

  • 四种算法思想(下)贪婪与动态规划

    贪婪和动态规划 贪婪算法和动态规划算法都是在多阶段决策最优解模型下求最优解。使用这两种算法可以算出来的,当然就可以...

  • 贪心(一)

    贪心算法 选择目前最优策略,不考虑全局最优 三步走 第一步 明确最优解 第二步 明确子问题的最优解 第三步 分别求...

  • 贪心算法

    什么是贪心算法 贪心算法是一种求可行解的算法,它并不像遗传算法一样可以求出全局最优解,贪心算法只是为了求出可行解,...

  • 2018-11-21 Backpropagation-反向传播算

    1.1 为什么要用 Backpropagation 在神经网络中求解最优模型参数,使用的梯度下降算法和之前求线性回...

  • 智能算法---遗传算法介绍

    智能算法是启发式的求最优化的算法。它是一门边缘交叉学科,是生物、数学等多学科的完美融合。现在的智能算法很多,不同的...

  • 图-最短路径-迪杰斯特拉算法

    思路 贪心策略, 局部最优解,从而达到全局最优解 迪杰斯特拉算法求先后求得每一条最短路径只有两种情况由源点直接到达...

  • 【数据结构】贪心算法和动态规划

    动态规划和贪心算法都是用来求最优化问题,且二者都必须具有最有子结构。贪心算法可以解决的问题,动态规划都能解决,可以...

网友评论

      本文标题:求最优算法

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