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
時間復(fù)雜度: O(n)
空間復(fù)雜度: 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
這篇文章講的主題就像題目所說的: 一個聰明的程序員應(yīng)該懂得什么樣的問題才值得去解決鸽扁。聰明的程序員不是那種可以解決所有問題的程序員吼畏,而是那種懂得什么樣的問題值得去解決的程序員摸航。程序員需要明白他能夠帶來的價值治宣,當(dāng)碰到問題的時候要學(xué)會權(quán)衡市俊,這個問題值不值得去花費時間和精力去解決帚称,要找到那個tradeoff奄侠,要去思考投入產(chǎn)出藻治,而不要天真地認(rèn)為所有的問題都要解決,只要碰到問題就要去解決板辽。
3. Tip:
Treemacs
treemacs是emacs的一個文件瀏覽工具奇瘦,之前一直用的是neotree,但是neotree的功能比較單一劲弦,treemacs提供了一個非常實用的功能: 工作區(qū)耳标,創(chuàng)建一些自己比較常用的工作區(qū),這樣的話邑跪,在不同的個工作區(qū)之間切換會非常高效次坡。唯一有一點不足的是,不能實時同步org文件的大綱画畅,如果能實時同步的話就更爽了砸琅。
4. Share:
這周讀了《逆商》這本書,不過還沒讀完轴踱,只看了前面部分的理論基礎(chǔ)症脂,后面的方法論部分還沒開始看,就分享一下看過的內(nèi)容以及自己的一些看法吧淫僻。
我們每個人都會遭遇痛苦诱篷、困境和挫折等等我們所謂的逆境。這本書根據(jù)人們面對逆境的不同應(yīng)對模式雳灵,把人分為了三類人: 放棄者棕所、扎營者和攀登者。放棄者是那些害怕面對痛苦悯辙、失敗和挫折的人們琳省,總是逃避問題迎吵,不愿去解決問題,不管改變現(xiàn)狀岛啸,他們最終只會面臨更大的痛苦和失數鼍酢;扎營者是剛開始也是攀登者坚踩,他們在一開始會迎接痛苦和挑戰(zhàn)荡灾,但是他們在取得一定進展的時候,就會選擇止步不前瞬铸,會轉(zhuǎn)向守護已有的批幌,停止成長;而攀登者是始終都在積極面對痛苦和挫折嗓节,他們的結(jié)果會越來越好荧缘,他們相信一定會得到自己想要的。
我們每個人都會遭遇各種逆境拦宣,不管是在社會中截粗、職場中還是在個人的其他方面。即使是我們學(xué)習(xí)一個技能也是如此鸵隧,有的人根本就不愿意去學(xué)習(xí)和成長绸罗,他們害怕將要面對的痛苦和挫折,有的人在開始的時候會愿意付出和努力豆瘫,積極面對痛苦和失敗珊蟀,但是在中途就會放棄,就會止步不前外驱,只有少數(shù)的人會堅持下去育灸,會去積極地面對各種挫折,會去解決各種問題昵宇,直到實現(xiàn)了自己的目標(biāo)磅崭。
其實我們越是害怕什么,越會得到什么瓦哎,我們越是害怕失敗和痛苦绽诚,就會經(jīng)歷更多的失敗和痛苦,我們的結(jié)果往往會更不好杭煎,我們只有去直面恐懼、痛苦和失敗卒落,去跨越一道又一道的坎羡铲,我們的路才會越來越寬,過去的痛苦對我們來說已不算什么儡毕,我們有能力去面對和跨越更大的挑戰(zhàn)也切。所以面對恐懼扑媚、痛苦和失敗最好的策略不是逃避,而是直面直到超越它們雷恃。