Algorithm

本周的算法题是按顺序合并两个已排序的链表(https://leetcode.com/problems/merge-two-sorted-lists/)。和归并排序的合并已排序数组的过程类似。

public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode left = l1;
ListNode right = l2; ListNode head = null;
ListNode node = null; while (left != null && right != null) {
if (left.val <= right.val) {
if (node == null) {
node = new ListNode(left.val);
head = node;
} else {
node.next = new ListNode(left.val);
node = node.next;
}
left = left.next;
} else {
if (node == null) {
node = new ListNode(right.val);
head = node;
} else {
node.next = new ListNode(right.val);
node = node.next;
}
right = right.next;
}
} while (left != null) {
if (node == null) {
node = new ListNode(left.val);
head = node;
} else {
node.next = new ListNode(left.val);
node = node.next;
}
left = left.next;
} while (right != null) {
if (node == null) {
node = new ListNode(right.val);
head = node;
} else {
node.next = new ListNode(right.val);
node = node.next;
}
right = right.next;
}
return head;
}

Reading

这篇文章名是《Act with Prudence》(https://97-things-every-x-should-know.gitbooks.io/97-things-every-programmer-should-know/content/en/thing_01/),翻译过来时谨慎行事。文章主要讨论了技术债务这个问题。当在工作遇到必须在“正确的做”和“快速的做”这两种决策中选择时,我们往往倾向于“快速的做”,然后有时间再回来改,这时就埋下了技术债务。技术债务就像贷款,拖的时间越长,利息就越大。对于编程来说,结果可能最终导致代码难以维护。更糟的情况时,由于时间紧,需要在这些技术债务上再添加新的功能,到最后再回过头来偿还技术债务,可以说是灾难性的。这是像我这样的新手不知道,也意识不到的,需要特别注意。有了技术债务,要尽快偿还。

Tip

这周在看Spring cloud Netflix Zuul的源码时,发现Spring Cloud Netflix的内部添加了很多Filter,完成了主要的处理。直接读这些Filter的代码是枯燥的,就想看看真正的请求过来时,它怎么处理。一开始采用的笨办法是把要看的Filter源码复制出来,放在本地的Filter路径中看打印日志,弄了半天,才想起Debug更方便,明白自己很业余,这么好的工具已经忘了。

Share

这周工作中用到了Zuul网关,我研究了下,写了篇总结,https://www.cnblogs.com/minguo/p/10690433.html

左耳听风-ARTS-第3周(2019/4/7-2019/4/13)的更多相关文章

  1. 一切从这里起始(左耳听风 ARTS 6号小组 week 1)

    ARTS 具体要求: 1.每周至少做一个 leetcode 的算法题2.阅读并点评至少一篇英文技术文章3.学习至少一个技术技巧4.分享一篇有观点和思考的技术文章 1.Algorithm Two Sum ...

  2. 左耳听风 ARTS Week 001

    要求:1.每周至少做一个 leetcode 的算法题 2.阅读并点评至少一篇英文技术文章 3.学习至少一个技术技巧 4.分享一篇有观点和思考的技术文章 1.每周至少做一个 leetcode 的算法题 ...

  3. 左耳听风 ARTS Week 002

    要求:1.每周至少做一个 leetcode 的算法题 2.阅读并点评至少一篇英文技术文章 3.学习至少一个技术技巧 4.分享一篇有观点和思考的技术文章 1.每周至少做一个 leetcode 的算法题 ...

  4. 【ARTS】01_21_左耳听风-201900401~201900407

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  5. 【ARTS】01_20_左耳听风-20190325~20190331

    zz## ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 ...

  6. 【ARTS】01_19_左耳听风-20190318~20190324

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  7. 【ARTS】01_18_左耳听风-20190311~20190317

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  8. 【ARTS】01_17_左耳听风-20190304~20190310

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  9. 【ARTS】01_16_左耳听风-20190225~20190303

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

  10. 【ARTS】01_14_左耳听风-20190211~20190217

    ARTS: Algrothm: leetcode算法题目 Review: 阅读并且点评一篇英文技术文章 Tip/Techni: 学习一个技术技巧 Share: 分享一篇有观点和思考的技术文章 Algo ...

随机推荐

  1. kaliLinux 安装 telnet

    一.安装xinetd telnetd root@helm:~# apt-get install xinetd telnetd 二.查看服务是否启动状态 说明自启动了 如果没有需要启动xinetd,启动 ...

  2. 【Shell】单行注释和多行注释

    单行注释 '# ' # echo "hello" 多行注释 方法1 : << ! 这是注释1 这是注释2 这是注释3 ! 方法2 :' 这是注释1 这是注释2 这是注释 ...

  3. 专业的“python爬虫工程师”需要学习哪些知识?

    学到哪种程度 暂且把目标定位初级爬虫工程师,简单列一下吧: (必要部分) 熟悉多线程编程.网络编程.HTTP协议相关 开发过完整爬虫项目(最好有全站爬虫经验,这个下面会说到) 反爬相关,cookie. ...

  4. Javascript设计模式记录

    prototype与面向对象取舍 使用prototype原型继承和使用面向对象,都可以实现闭包的效果.那么这两个的选择点,就是方法会不会产生多个实例. 例如,我们需要做一个闭包数组,并给他提供一个添加 ...

  5. 2018-2019-2 《网络对抗技术》Exp1 PC平台逆向破解 20165326

    实验一 目录 直接修改程序机器指令,改变程序执行流程 通过构造输入参数,造成BOF攻击,改变程序执行流 注入Shellcode并执行 问题及解决 思想感悟 一.修改机器指令 首先你需要一个pwn1文件 ...

  6. Matlab小波工具箱的使用2

    Matlab小波工具箱的使用2 (2011-11-11 09:32:57) 转载▼ http://blog.sina.com.cn/s/blog_6163bdeb0102dw7a.html#cmt_5 ...

  7. python模块之_正则 re_configparser_logging_hashlib

    正则表达式的内容放在最下面了 configparser 模块: #!/usr/bin/env python # coding:utf-8 import configparser # 专门用于操作配置文 ...

  8. eclipse 项目中嵌入jetty

    Jetty是一个提供HHTP服务器.HTTP客户端和javax.servlet容器的开源项目,Jetty 目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的 ...

  9. 中国科学技术大学第五届信息安全大赛(hackergame2018自我总结)2

    这一批题都是我不会的,只能把官方write-up放在这里了 1.FLXG 的秘密 ----------------------------------------------------------- ...

  10. ChIP-seq基本流程及工具

    ChIP-seq数据分析整理 1.Alignment 2.Peak detection 3.Peak annotation 1. GO analysis 2. Pathway analysis 4.D ...