zoukankan      html  css  js  c++  java
  • 递归练习

    //max值
    function getMaxVal(arr){
        let maxVal=null;
        function loop(arr){
            let [key1,...keys]=arr;
            if(!key1){return}
            maxVal=key1>maxVal?key1:maxVal;
            loop(keys);
        }
        loop(arr)
        return maxVal;
    }
    getMaxVal([9,12,1,3,6])
    
    function getMaxVal1(arr){
        function loop(arr){
            let [key1,...keys]=arr;
            if(!keys.length){return key1}
            return key1>loop(keys)?key1:loop(keys);
        }
        return loop(arr)
    }
    getMaxVal1([9,12,1,3,6])
    let myReverse=(arr)=>{
        let [key1,...keys]=arr;
        if(!keys.length)return [key1]
        return [...myReverse(keys),key1]
    }
    myReverse(['a','b','c'])
    面试题1: 楼梯问题
    假如楼梯有n个台阶,每次可以走1个或2个台阶,请问走完这n个台阶有几种走法?
    那如果有n个台阶呢?我们认真思考下就会发现,第1步的走法有两类:第一种是第一步走1个台阶,
    第二种是第二步走2个台阶。所以n个台阶的走法就可以分为:走完1个台阶后的n
    -1种走法,加上走完2个台阶后的n-2种走法,用递归公式表示就是: function climbStairs(n) { return climbStairs(n - 1) + climbStairs(n - 2) }

    climbStairs(n) = climbStairs(n-1) + climbStairs(n-2)
    climbStairs(n-1) = climbStairs(n-2) + climbStairs(n-3)
    ··· ··· ···
    climbStairs(5) = climbStairs(4) + climbStairs(3)
    climbStairs(4) = climbStairs(3) + climbStairs(2)
    climbStairs(3) = climbStairs(2) + climbStairs(1)
    climbStairs(2) = 2
    climbStairs(1) = 1
    function climbStairs(n) {
      if (n == 1) return 1
      if (n == 2) return 2
      return climbStairs(n-1) + climbStairs(n-2)
    }

     参考:https://juejin.im/post/5d7df6bff265da03b638dc97

    https://www.jb51.net/article/144663.htm

    var temarr=
            [{
            "id": 1,
            "companyId": 33,
            "departmentId": 1,
            "name": "部门经理",
            "label": "部门经理",
            "code": "1001",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "",
            "updateTime": "2019-07-09 07:36:36",
            "createTime": "2019-06-26 08:15:56",
            "employeeCount": null,
            "children": [{
                "id": 103,
                "companyId": 33,
                "departmentId": 1,
                "name": "77777777",
                "label": "77777777",
                "code": "1234569999",
                "parentId": 1,
                "path": "1",
                "status": 1,
                "operationAccount": "liqisheng",
                "updateTime": "2019-07-25 08:46:09",
                "createTime": "2019-07-25 08:46:09",
                "employeeCount": null,
                "children": [{
                    "id": 182,
                    "companyId": 33,
                    "departmentId": 1,
                    "name": "fdaf",
                    "label": "fdaf",
                    "code": "88888",
                    "parentId": 103,
                    "path": "1,103",
                    "status": 1,
                    "operationAccount": "xiaochangliu",
                    "updateTime": "2019-08-08 06:49:38",
                    "createTime": "2019-08-08 06:49:38",
                    "employeeCount": null,
                    "children": [],
                    "childCount": null,
                    "parentName": null
                }],
                "childCount": null,
                "parentName": null
            }, {
                "id": 162,
                "companyId": 33,
                "departmentId": 1,
                "name": "bbbr",
                "label": "bbbr",
                "code": "bbbr1",
                "parentId": 1,
                "path": "1",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-31 06:06:56",
                "createTime": "2019-07-31 06:02:55",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 163,
                "companyId": 33,
                "departmentId": 1,
                "name": "fdsbb",
                "label": "fdsbb",
                "code": "fdsbb1",
                "parentId": 1,
                "path": "1",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-31 07:08:54",
                "createTime": "2019-07-31 07:08:54",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 220,
                "companyId": 33,
                "departmentId": 1,
                "name": "bumenpenpen",
                "label": "bumenpenpen",
                "code": "",
                "parentId": 1,
                "path": "1",
                "status": 1,
                "operationAccount": "wenfuzhou",
                "updateTime": "2019-08-30 07:25:23",
                "createTime": "2019-08-30 07:25:23",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 223,
                "companyId": 33,
                "departmentId": 1,
                "name": "penpen21123123",
                "label": "penpen21123123",
                "code": "",
                "parentId": 1,
                "path": "1",
                "status": 1,
                "operationAccount": "wenfuzhou",
                "updateTime": "2019-08-31 02:13:26",
                "createTime": "2019-08-31 02:13:26",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }],
            "childCount": null,
            "parentName": null
        }, {
            "id": 104,
            "companyId": 33,
            "departmentId": 1,
            "name": "88888",
            "label": "88888",
            "code": "335656",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "liqisheng",
            "updateTime": "2019-07-25 08:47:19",
            "createTime": "2019-07-25 08:47:19",
            "employeeCount": null,
            "children": [{
                "id": 113,
                "companyId": 33,
                "departmentId": 1,
                "name": "运营二哥",
                "label": "运营二哥",
                "code": "123123",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-27 09:00:45",
                "createTime": "2019-07-27 09:00:45",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 124,
                "companyId": 33,
                "departmentId": 1,
                "name": "000000pen",
                "label": "000000pen",
                "code": "2312312",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-29 11:20:02",
                "createTime": "2019-07-29 11:20:02",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 125,
                "companyId": 33,
                "departmentId": 1,
                "name": "11111111pen",
                "label": "11111111pen",
                "code": "",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-29 11:20:25",
                "createTime": "2019-07-29 11:20:25",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 126,
                "companyId": 33,
                "departmentId": 1,
                "name": "22222penguin",
                "label": "22222penguin",
                "code": "123123123123123",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-29 11:24:14",
                "createTime": "2019-07-29 11:24:14",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 127,
                "companyId": 33,
                "departmentId": 1,
                "name": "4444penguin",
                "label": "4444penguin",
                "code": "23423423",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-29 11:34:47",
                "createTime": "2019-07-29 11:34:47",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 128,
                "companyId": 33,
                "departmentId": 1,
                "name": "555555penguin",
                "label": "555555penguin",
                "code": "456456423423",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-29 11:36:33",
                "createTime": "2019-07-29 11:36:33",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 129,
                "companyId": 33,
                "departmentId": 1,
                "name": "6666penguin2312",
                "label": "6666penguin2312",
                "code": "",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-29 11:37:33",
                "createTime": "2019-07-29 11:37:33",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 130,
                "companyId": 33,
                "departmentId": 1,
                "name": "777777777penguin",
                "label": "777777777penguin",
                "code": "2344654756856",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-29 11:39:25",
                "createTime": "2019-07-29 11:39:25",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 131,
                "companyId": 33,
                "departmentId": 1,
                "name": "pentest007",
                "label": "pentest007",
                "code": "12312",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-29 12:33:50",
                "createTime": "2019-07-29 12:33:50",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 133,
                "companyId": 33,
                "departmentId": 1,
                "name": "pentttet3",
                "label": "pentttet3",
                "code": "12312213123123",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-29 12:46:25",
                "createTime": "2019-07-29 12:46:25",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 134,
                "companyId": 33,
                "departmentId": 1,
                "name": "000pentttet32133",
                "label": "000pentttet32133",
                "code": "12555555",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-29 12:48:07",
                "createTime": "2019-07-29 12:48:07",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 135,
                "companyId": 33,
                "departmentId": 1,
                "name": "testpen4445",
                "label": "testpen4445",
                "code": "21589111",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-29 12:49:03",
                "createTime": "2019-07-29 12:49:03",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 136,
                "companyId": 33,
                "departmentId": 1,
                "name": "121penger",
                "label": "121penger",
                "code": "2100000004234",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "sunxiukui",
                "updateTime": "2019-07-29 12:50:15",
                "createTime": "2019-07-29 12:50:15",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }, {
                "id": 137,
                "companyId": 33,
                "departmentId": 1,
                "name": "8989epenguin",
                "label": "8989epenguin",
                "code": "3999423423423",
                "parentId": 104,
                "path": "104",
                "status": 1,
                "operationAccount": "tangshiying",
                "updateTime": "2019-07-29 13:25:00",
                "createTime": "2019-07-29 12:51:19",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }],
            "childCount": null,
            "parentName": null
        }, {
            "id": 132,
            "companyId": 33,
            "departmentId": 1,
            "name": "pen000011222",
            "label": "pen000011222",
            "code": "1233123",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "sunxiukui",
            "updateTime": "2019-07-29 12:43:47",
            "createTime": "2019-07-29 12:36:05",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }, {
            "id": 146,
            "companyId": 33,
            "departmentId": 1,
            "name": "d就开始地方",
            "label": "d就开始地方",
            "code": "",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "sunxiukui",
            "updateTime": "2019-07-30 02:28:20",
            "createTime": "2019-07-30 02:28:20",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }, {
            "id": 147,
            "companyId": 33,
            "departmentId": 1,
            "name": "ddd对啊对啊",
            "label": "ddd对啊对啊",
            "code": "",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "sunxiukui",
            "updateTime": "2019-07-30 07:57:04",
            "createTime": "2019-07-30 02:28:44",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }, {
            "id": 151,
            "companyId": 33,
            "departmentId": 1,
            "name": "45发送到发送到45",
            "label": "45发送到发送到45",
            "code": "",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "xiaochangliu",
            "updateTime": "2019-08-05 09:16:39",
            "createTime": "2019-07-30 08:49:01",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }, {
            "id": 154,
            "companyId": 33,
            "departmentId": 1,
            "name": "fsdfsd.防守打法",
            "label": "fsdfsd.防守打法",
            "code": "",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "sunxiukui",
            "updateTime": "2019-07-30 08:58:13",
            "createTime": "2019-07-30 08:58:13",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }, {
            "id": 164,
            "companyId": 33,
            "departmentId": 1,
            "name": "fsdfsd",
            "label": "fsdfsd",
            "code": "fsdfsd1",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "sunxiukui",
            "updateTime": "2019-07-31 07:13:54",
            "createTime": "2019-07-31 07:13:54",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }, {
            "id": 165,
            "companyId": 33,
            "departmentId": 1,
            "name": "fsdfsdfsd",
            "label": "fsdfsdfsd",
            "code": "",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "sunxiukui",
            "updateTime": "2019-07-31 07:20:21",
            "createTime": "2019-07-31 07:20:21",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }, {
            "id": 166,
            "companyId": 33,
            "departmentId": 1,
            "name": "fsdfsd23123",
            "label": "fsdfsd23123",
            "code": "eqweqw",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "sunxiukui",
            "updateTime": "2019-07-31 07:24:12",
            "createTime": "2019-07-31 07:24:12",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }, {
            "id": 178,
            "companyId": 33,
            "departmentId": 1,
            "name": "fdafda",
            "label": "fdafda",
            "code": "fda",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "xiaochangliu",
            "updateTime": "2019-08-08 03:20:14",
            "createTime": "2019-08-08 03:20:14",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }, {
            "id": 179,
            "companyId": 33,
            "departmentId": 1,
            "name": "gfds",
            "label": "gfds",
            "code": "gfsgfsd",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "xiaochangliu",
            "updateTime": "2019-08-08 03:24:41",
            "createTime": "2019-08-08 03:24:41",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }, {
            "id": 180,
            "companyId": 33,
            "departmentId": 1,
            "name": "fdsa",
            "label": "fdsa",
            "code": "f",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "xiaochangliu",
            "updateTime": "2019-08-08 06:20:47",
            "createTime": "2019-08-08 06:20:47",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }, {
            "id": 184,
            "companyId": 33,
            "departmentId": 1,
            "name": "fdafdas",
            "label": "fdafdas",
            "code": "464646",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "xiaochangliu",
            "updateTime": "2019-08-08 06:53:04",
            "createTime": "2019-08-08 06:53:04",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }, {
            "id": 194,
            "companyId": 33,
            "departmentId": 1,
            "name": "运营岗1",
            "label": "运营岗1",
            "code": "",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "liqisheng",
            "updateTime": "2019-08-13 07:40:34",
            "createTime": "2019-08-13 07:40:02",
            "employeeCount": null,
            "children": [{
                "id": 224,
                "companyId": 33,
                "departmentId": 1,
                "name": "运营岗刚刚",
                "label": "运营岗刚刚",
                "code": "",
                "parentId": 194,
                "path": "194",
                "status": 1,
                "operationAccount": "wenfuzhou",
                "updateTime": "2019-09-02 06:20:31",
                "createTime": "2019-09-02 06:20:31",
                "employeeCount": null,
                "children": [],
                "childCount": null,
                "parentName": null
            }],
            "childCount": null,
            "parentName": null
        }, {
            "id": 232,
            "companyId": 33,
            "departmentId": 1,
            "name": "-._user123",
            "label": "-._user123",
            "code": "",
            "parentId": 0,
            "path": "",
            "status": 1,
            "operationAccount": "liqisheng",
            "updateTime": "2019-09-12 15:05:16",
            "createTime": "2019-09-12 15:05:16",
            "employeeCount": null,
            "children": [],
            "childCount": null,
            "parentName": null
        }]
    var oneDimensionArr2=function(arr){
        return arr.reduce((pre,cur)=>{
            if(!cur.children)return[]
            return (Array.isArray(cur.children)&&cur.children.length)?[...pre,cur,...this.oneDimensionArr2(cur.children)]:[...pre,cur]
        },[])
    }
  • 相关阅读:
    BZOJ5473: 仙人掌
    BZOJ5289: [Hnoi2018]排列
    BZOJ5322: [JXOI2018]排序问题
    BZOJ5323:[JXOI2018]游戏
    webstorm引用ESLint进行静态代码检查
    React基础知识
    静态资源优化方案
    Nodejs 饭店
    linux du和df
    Docker知识-1
  • 原文地址:https://www.cnblogs.com/little-ab/p/11522983.html
Copyright © 2011-2022 走看看