ARTS - 第一周打卡
Algorithm算法
问题
给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。
如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。
您可以假设除了数字 0 之外,这两个数都不会以 0 开头。
示例:
输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)
输出:7 -> 0 -> 8
原因:342 + 465 = 807
思路
我首先想到的是,同位相加,然后计算下一位的时候把进位加上。
写的时候遇到不少问题,比如说会遇到连续进位的问题,两个链表长度不同的问题。
连续进位问题我通过递归来完成,个位加完就一直判断进位到结束。
两表长度不同,就一开始选一个链表作为主链,另一个为被加数,记得初始化就好。
解题
Review英文文章
Introduction to Thread Pools in Java
思考
看的时候需要借助一点翻译工具来阅读,这样会使阅读速度慢下来,但是反而会比读中文的文档理解的更加深入。
也许是因为计算机这个东西本来就和英文亲近,用英文来解释线程池以及一些概念会比中文翻译过来的好理解一些。
这片文章很长,但是我还是看完了,并没有全懂,我是抱着日拱一卒,终会进步的心理去学习的。
Tips
Fast Return
最近写代码会去思考怎样写才能写的优雅,怎么样写才能写的让人更容易阅读。
fast return会减少很多if else的嵌套吧,这已经可以让代码好读很多了。
Share
分享一个公众号文章吧
聪明有钱人怎么想?- 孤独大脑
版权声明: 本文为 InfoQ 作者【陈文昕】的原创文章。
原文链接:【http://xie.infoq.cn/article/d2491a16e248fb722aab14afb】。文章转载请联系作者。
评论 (1 条评论)