最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • 过年自律第七天

    正文概述 掘金(JyHiting)   2021-02-14   476

    如果不小心网友来到了这里请网友自动飘走,浪费你们时间表示歉意。该系列博客的目的是:想自己作为自律工具趁着过年没事每天刷几道题作为打卡督促的功能,没有什么可参考学习的东西,也不是刷博客量充大佬的目的

    2021放假第七天,2月12日

    递归

    题号:21
    function ListNode(val, next) {
        this.val = (val === undefined ? 0 : val)
        this.next = (next === undefined ? null : next)
    }
    //再简单的递归问题也不能在脑子中去绘制递归的每一步,容易走火入魔,也是不正常的思考方式
    //递归是一个长龙,中间看一个过程,末尾(出口)看一下就行了
    var mergeTwoLists = function (l1, l2) {
        if (l1 == null) {
            return l2
        }
        if (l2 == null) {
            return l1
        }
        if (l1.val < l2.val) {
            l1.next = mergeTwoLists(l1.next, l2)
            return l1
        } else {
            l2.next = mergeTwoLists(l1, l2.next)
            return l2
        }
    };
    
    题号:面试题0806
    var hanota = function (A, B, C) {
        helper(A.length, A, B, C)
    };
    //递归的a,b,c是通过参数下发的要小心我们处理的a,b,c和原始的a,b,c的不一样
    function helper(num, a, b, c) {
        if (num == 1) {
            //把a最上一个挪到b
            c.unshift(a.shift())
            return
        }
        //递归的核心逻辑
        //当2层的时候推演一下
        //当3层的时候推演一下
        //真不行再推演4层的时候
        //发现规律,在n>2的时候和n=2一样(压缩饼干),把n以上的层数压缩为1层考虑
        //那么递归的每一次处理逻辑就是:怎么把n以上的n-1层借助可用的柱子移动出来
        //漏出最后一层,把最后一层就一个,直接挪过去即可
        helper(num - 1, a, c, b)
        //把a最上一个挪到c
        c.unshift(a.shift())
        //把b最上移动到c
        helper(num - 1, b, a, c)
    
    }
    
    题号:剑指offer10-1
    //纯递归超时
    var fib = function (n) {
        if (n == 0) {
            return 0
        }
        if (n == 1) {
            return 1
        }
        return (fib(n - 1) + fib(n - 2)) % 1000000007
    };
    
    //动态规划
    var fib = function (n) {
        //这里状态压缩我只需要记录2个状态,那么就开辟1个max为2的数组记录即可
        let dptable = []
        for (let i = 0; i <= n; i++) {
            if (i == 0) {
                dptable.unshift(0)
            } else if (i == 1) {
                dptable.unshift(1)
            } else {
                dptable.unshift((dptable[0] + dptable[1]) % 1000000007)
                dptable.pop()
            }
        }
        return dptable.shift()
    };
    

    起源地下载网 » 过年自律第七天

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元