美文网首页
KirogiYi ARTS打卡:第一周

KirogiYi ARTS打卡:第一周

作者: NewPage | 来源:发表于2019-03-23 10:12 被阅读0次

    Algorithm(两数相加)


    • 描述:给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
    • 思路:独立进行算法设计的时候,思维进入误区,没能从链表的角度来考虑,导致在数据溢出的时候没法通过验证。最终还是采纳了题解的解析方法,理解透了后进行编码,有待加强。
    • 性能:时间复杂度O(max(l1.size, l2.size)); 空间复杂度:O(max(l1.size, l2.size))
    • 编码(java):
    public ListNode addTwoNumbers(ListNode l1, ListNode l2) {
        int carryValue = 0;
        int currSum = 0;
        ListNode resultNode = new ListNode(0);
        ListNode moveL1 = l1, moveL2 = l2, moveResult = resultNode;
    
        while (moveL1 != null || moveL2 != null) {
            currSum = (moveL1 == null? 0:moveL1.val) + (moveL2 == null? 0:moveL2.val) + carryValue;
            carryValue = currSum / 10;
            moveResult.next = new ListNode(currSum % 10);
    
            moveResult = moveResult.next;
            if (moveL1 != null) moveL1 = moveL1.next;
            if (moveL2 != null) moveL2 = moveL2.next;
        }
    
        if (carryValue > 0) {
            moveResult.next = new ListNode(carryValue);
        }
        return resultNode.next;
    }
    

    Review (基于VuePress的博客构建)


    • 介绍:VuePress由两部分组成:一个是简略的静态网站生成器,另一个是书写技术文档的默认主题系统。它主要来源于支持Vue的子项目的文档需求。
      基于VuePress生成的每个页面都有预渲染的静态HTML,它具有良好的加载性能和友好的搜索引擎。一旦页面被加载,Vue将对其管理并进行单页面处理,
      而其他页面则在需要的时候进行加载。

    • 工作原理:VuePress网站是由Vue、Vue Router、webpack驱动。如果你使用过Vue,在你开发自定义主体的时候,你可能会注意到似曾相识的开发体验。
      我们在构建的时候,会根据应用的版本创建服务端渲染,虚拟访问每条路径来渲染相应的HTML。这个方法的灵感来源于Nuxt的nuxt generate命令和其他项目,
      比如:Gatsby。每个markdown文件都用markdown-it编译进HTML并作为Vue组件的模板处理。如果你想嵌入动态的内容,这里允许你直接在markdown中使用VUe。

    • 特性:
      1.基于技术文档优化的内置markdown扩展
      2.markdown文件中使用Vue具备的功能特性
      3.Vue驱动的自定义主题系统
      4.自动生成Service Worker
      5.集成Google分析器
      6.基于Git的最新时间更新
      7.支持多语言
      8.默认主题包括:

    响应式布局;主页可选;简洁的开箱即用搜索功能;Algolia搜索;自定义导航栏和侧边栏;自动生成Github链接和页面链接。

    Tip


    ES6中扩展运算符:"...",引用、组合、拆分等使得代码看起来相当简洁,示例如下:
    1.console.log([a,b,b]) ==> a b c
    2.let add = (x, y) => x + y
    let numbers = [3, 45]
    console.log(add(...numbers)) ==> 45 + 3
    3.let arr1 = ['a', 'b']
    let arr2 = ['c']
    let arr3 = ['d', 'e']
    [...arr1, ...arr2, ...arr3] ==> ['a', 'b', 'c', 'd', 'e']

    Share


    相关文章

      网友评论

          本文标题:KirogiYi ARTS打卡:第一周

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