ARTS 第3周

1. Algorithm

题目: Add Two Numbers

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

You may assume the two numbers do not contain any leading zero, except the number 0 itself.

Example:

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Explanation: 342 + 465 = 807.

Solution

时间复杂度: O(n)
空间复杂度: O(1)

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def addTwoNumbers(self, l1: ListNode, l2: ListNode) -> ListNode:
        dummy = ListNode(0)
        current, carry = dummy, 0
        while l1 or l2:
            val = carry
            if l1:
                val += l1.val
                l1 = l1.next
            if l2:
                val += l2.val
                l2 = l2.next
            carry = val // 10
            current.next = ListNode(val % 10)
            current = current.next
        if carry == 1:
            current.next = ListNode(carry)
        return dummy.next

2. Review:

A Smart Programmer Understands The Problems Worth Fixing
这篇文章讲的主题就像题目所说的: 一个聪明的程序员应该懂得什么样的问题才值得去解决。聪明的程序员不是那种可以解决所有问题的程序员,而是那种懂得什么样的问题值得去解决的程序员。程序员需要明白他能够带来的价值,当碰到问题的时候要学会权衡,这个问题值不值得去花费时间和精力去解决,要找到那个tradeoff,要去思考投入产出,而不要天真地认为所有的问题都要解决,只要碰到问题就要去解决。

3. Tip:

Treemacs
treemacs是emacs的一个文件浏览工具,之前一直用的是neotree,但是neotree的功能比较单一,treemacs提供了一个非常实用的功能: 工作区,创建一些自己比较常用的工作区,这样的话,在不同的个工作区之间切换会非常高效。唯一有一点不足的是,不能实时同步org文件的大纲,如果能实时同步的话就更爽了。

4. Share:

这周读了《逆商》这本书,不过还没读完,只看了前面部分的理论基础,后面的方法论部分还没开始看,就分享一下看过的内容以及自己的一些看法吧。

我们每个人都会遭遇痛苦、困境和挫折等等我们所谓的逆境。这本书根据人们面对逆境的不同应对模式,把人分为了三类人: 放弃者、扎营者和攀登者。放弃者是那些害怕面对痛苦、失败和挫折的人们,总是逃避问题,不愿去解决问题,不管改变现状,他们最终只会面临更大的痛苦和失败;扎营者是刚开始也是攀登者,他们在一开始会迎接痛苦和挑战,但是他们在取得一定进展的时候,就会选择止步不前,会转向守护已有的,停止成长;而攀登者是始终都在积极面对痛苦和挫折,他们的结果会越来越好,他们相信一定会得到自己想要的。

我们每个人都会遭遇各种逆境,不管是在社会中、职场中还是在个人的其他方面。即使是我们学习一个技能也是如此,有的人根本就不愿意去学习和成长,他们害怕将要面对的痛苦和挫折,有的人在开始的时候会愿意付出和努力,积极面对痛苦和失败,但是在中途就会放弃,就会止步不前,只有少数的人会坚持下去,会去积极地面对各种挫折,会去解决各种问题,直到实现了自己的目标。

其实我们越是害怕什么,越会得到什么,我们越是害怕失败和痛苦,就会经历更多的失败和痛苦,我们的结果往往会更不好,我们只有去直面恐惧、痛苦和失败,去跨越一道又一道的坎,我们的路才会越来越宽,过去的痛苦对我们来说已不算什么,我们有能力去面对和跨越更大的挑战。所以面对恐惧、痛苦和失败最好的策略不是逃避,而是直面直到超越它们。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 每一种花,都代表了不同的个性,有人喜欢百花之王——牡丹,有人喜欢朴素的郁金香,还有人喜欢粉红似霞的芍药……而...
    李小孩作品集阅读 2,383评论 0 1
  • 今日要谈的主题是名称翻译。实际上在翻译中,公司和广告语的收费都是极高的,一条上乘的公司名或广告语翻译收费可...
    写译人生阅读 3,882评论 3 3
  • 2017年的最后一夜 月亮还没有滚圆 星星 在辽远的天边荡秋千 一串串路灯,投射 一团团清冷的光圈 一个单薄的身影...
    夜书房阅读 975评论 0 0
  • 突然对脑力劳动有了一点感觉,之前很多年都是从事体力劳动,虽然说有一些技术含量,但年长了,走到了自己的瓶颈,不知该如...
    尘埃不确定阅读 3,379评论 0 0