左耳听风-ARTS-第3周(2019/4/7-2019/4/13)

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

转载于:https://www.cnblogs.com/minguo/p/10703937.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值