日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > 架構師社區(qū)
[導讀]來自:小浩算法 01 PART 兩數(shù)相加 各數(shù)據(jù)結構中的“加減乘除”都是很愛考察的內容。 第2題:給出兩個 非空 的鏈表用來表示兩個非負的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲的,并且它們的每個節(jié)點只能存儲 一位 數(shù)字。 如果,我們將這兩個數(shù)相加


漫畫:為啥各廠都喜歡考鏈表的加法?

來自:小浩算法




01
PART
兩數(shù)相加
漫畫:為啥各廠都喜歡考鏈表的加法?

各數(shù)據(jù)結構中的“加減乘除”都是很愛考察的內容。

第2題:給出兩個 非空 的鏈表用來表示兩個非負的整數(shù)。其中,它們各自的位數(shù)是按照 逆序 的方式存儲的,并且它們的每個節(jié)點只能存儲 一位 數(shù)字。

如果,我們將這兩個數(shù)相加起來,則會返回一個新的鏈表來表示它們的和。您可以假設除了數(shù)字 0 之外,這兩個數(shù)都不會以 0 開頭。


舉個例子:


輸入:(2 -> 4 -> 3) + (5 -> 6 -> 4)

輸出:7 -> 0 -> 8

原因:342 + 465 = 807


漫畫:為啥各廠都喜歡考鏈表的加法?

(刷完題目,你就又強大了一點點!)



02
PART
算法圖解
漫畫:為啥各廠都喜歡考鏈表的加法?

燒餅(哨兵)節(jié)點:燒餅節(jié)點就是說有一個節(jié)點長的像燒餅,站在最前面。往往第一個節(jié)點小子都會來啃一口,因為是牛肉拔絲燒餅,扯不掉就連起來了。。。好了,我實在編不下去了~囧....

漫畫:為啥各廠都喜歡考鏈表的加法?

不了解哨兵節(jié)點的可以看下:


漫畫:刪除鏈表倒數(shù)第N個節(jié)點(修改版)


好了,了解了哨兵節(jié)點,其實這道題和哨兵節(jié)點并沒有什么毛線關系,我只是讓你復習一下(會不會想打我)?,F(xiàn)在開始正式分析題目。


老樣子,我們還是先畫圖,假若我們的鏈表是 (2 -> 4 -> 3) + (5 -> 6 -> 4) ,大概就是這樣(注意,這里我們其實是要完成 342 + 465):


漫畫:為啥各廠都喜歡考鏈表的加法?


加法肯定是從最低位到最高位進行相加,也就是這里的鏈表頭到鏈表尾進行相加,所以需要遍歷鏈表。我們令 l1 和 l2 指向兩個鏈表的頭,用一個 tmp 值來存儲同一位相加的結果,以及一個新的鏈表來存儲 tmp 的值。(為什么不直接用新鏈表存儲結果,而是用 tmp 先存儲結果,再用新鏈表存儲 tmp 的值呢?請繼續(xù)往下看)


漫畫:為啥各廠都喜歡考鏈表的加法?


記?。?strong>所有模擬運算的題目,都需要考慮進位。這里因為個位不涉及進位,開始計算十位。我們同時遍歷 l1,l2,以及新鏈表到下一位。


漫畫:為啥各廠都喜歡考鏈表的加法?

重復上面的操作,可以看到十位與個位不同,發(fā)生了進位。這時,剛才的 tmp 就有了用武之地。我們使用 tmp 攜帶進位的值到下一位的運算。自然,這里的鏈表也不能直接存儲 tmp 的值了,而是要存儲 tmp%10 的值。重復這個步驟,直到兩個鏈表都遍歷完成,并且 tmp 沒有進位值


漫畫:為啥各廠都喜歡考鏈表的加法?


現(xiàn)在只需要返回我們的新鏈表就可以了。問題來了,因為我們沒有構造哨兵節(jié)點,所以此時不太容易直接返回新鏈表。所以在整個流程的第一步,我們還需要用一個哨兵節(jié)點指向我們的新鏈表。


漫畫:為啥各廠都喜歡考鏈表的加法?

分析完畢,直接上代碼(好久沒翻Go的牌子了):


 1//Go
2func addTwoNumbers(l1 *ListNode, l2 *ListNode) *ListNode {
3    list := &ListNode{0nil}
4    //這里用一個result,只是為了后面返回節(jié)點方便,并無他用
5    result := list
6    tmp := 0
7    for l1 != nil || l2 != nil || tmp != 0 {
8        if l1 != nil {
9            tmp += l1.Val
10            l1 = l1.Next
11        }
12        if l2 != nil {
13            tmp += l2.Val
14            l2 = l2.Next
15        }
16        list.Next = &ListNode{tmp % 10nil}
17        tmp = tmp / 10
18        list = list.Next
19    }
20    return result.Next
21}


漫畫:為啥各廠都喜歡考鏈表的加法?

(還湊合)

漫畫:為啥各廠都喜歡考鏈表的加法?

鄭重申明(讀我的文章必看):

  • 本系列所有教程都不會用到復雜的語言特性,大家無須擔心沒有學過相關語法,算法思想才是最重要的!

  • 作為學術文章,雖然風格可以風趣,但嚴謹,我是認真的。本文所有代碼均在leetcode進行過測試運行。


03
PART
磨磨唧唧
漫畫:為啥各廠都喜歡考鏈表的加法?

1950年6月19日,毛澤東寫信給當時的教育部部長馬敘倫:“要各校注意健康第一,學習第二。營養(yǎng)不足,宜酌增經(jīng)費?!?951年9月底,毛澤東接見安徽參加國慶的代表團,代表團成員中有渡江小英雄馬三姐。毛澤東關切地問她念書情況,還送她一本精美的筆記本,并且在扉頁上題詞:好好學習,天天向上。這8個字的題詞迅速在全國傳播開來。

特別推薦一個分享架構+算法的優(yōu)質內容,還沒關注的小伙伴,可以長按關注一下:

漫畫:為啥各廠都喜歡考鏈表的加法?

長按訂閱更多精彩▼

漫畫:為啥各廠都喜歡考鏈表的加法?

如有收獲,點個在看,誠摯感謝

免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉