zoukankan      html  css  js  c++  java
  • javascript洗牌算法 乱序算法 面试题

    1、2种方案代码

    <!DOCTYPE html>
    <html lang="zh">
    
        <head>
            <meta charset="UTF-8" />
            <meta name="viewport" content="width=device-width, initial-scale=1.0" />
            <meta http-equiv="X-UA-Compatible" content="ie=edge" />
            <title>javascript洗牌(乱序)算法</title>
        </head>
    
        <body>
    
            <script>
                //方法一
                var arr = [1, 2, 3, 4, 5, 6];
    
                function sort(arr) {
                    var newArr = [];
                    for(var i = 0, len = arr.length; i < len; i++) {
                        var j = Math.floor(Math.random() * (len - i));
                        newArr[i] = arr[j];
                        arr.splice(j, 1)
                    }
                    return newArr;
                }
                //方法二
                function sort2(arr) {
                    var newArr = [];
                    newArr = arr.sort(function() {
                        return Math.random() - 0.5;
                    })
                    return newArr;
                }
                console.log(sort(arr))
                console.log(sort2(arr))
            </script>
        </body>
    
    </html>

    2、说明

    方法一时间复杂度:O(n)

    方法二时间复杂度:O(n²)

  • 相关阅读:
    JavaSE-面向对象
    JavaSE-数组
    JavaSE-方法
    JavaSE-流程控制
    JavaSE-基础语法
    Java-初识Java
    PTH的几种食用姿势
    CVE-2020-1472 Zerologon
    OpenGL 术语
    使用IDEA创建SpringMVC项目
  • 原文地址:https://www.cnblogs.com/mengfangui/p/8631351.html
Copyright © 2011-2022 走看看