Scala面試演算法題 合併兩個有序鍊錶

2021-10-25 03:24:57 字數 930 閱讀 9234

題目:將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。

輸入:1->2->4, 1->3->4

輸出:1->1->2->3->4->4

下面是做題詳情

/**

* definition for singly-linked list.

* class listnode(_x: int = 0, _next: listnode = null)

*/object solution

else

if(l2 ==

null)if

(l1.x < l2.x)

else

}}

在力扣上分析**執行速度和記憶體,用的是遞迴解題的方法,執行速度一般,但是這個記憶體占用就很不夠看了,不知道為什麼記憶體消耗這麼嚴重。有知道的小夥伴可以分享下~

力扣官網上其他人給出還有一種非遞迴的做法,可能看起來有些複雜,但是思路還是挺清楚的,大家可以看一下

/**

* definition for singly-linked list.

* class listnode(_x: int = 0, _next: listnode = null)

*/object solution

else

var n1 = l1

var n2 = l2

while

(n1!=

null

&&n2!=

null

) node.next = n1

}else

node.next = n2

}} head}}

Scala 合併兩個Map

把scala的兩個map合併,合併的時候會遇到相同的鍵和不同的鍵,scala val m1 map 1 10,2 4 m1 scala.collection.immutable.map int,int map 1 10,2 4 scala val m2 map 2 5,4 8 m2 scala.co...

Scala 之 合併兩個map

開發中遇到需求 合併兩個map集合物件 將兩個對應key的值累加 先說解決方案 map1 map2 這特麼什麼鬼 首先 scala中現有的合併集合操作不能滿足這個需求 注意合併後的結果a的g02的值其實是被覆蓋掉了。然後 說說那個表示式中 a b 這部分是什麼鬼。這個其實是scala簡化的foldl...

兩道面試演算法題

最近面試 兩道演算法題 說難不難 要寫全對也不容易 很慚愧 我沒有一次寫對 第一道 無序int陣列 找到中位數 void swap int a,int b int get kth number vector num,int k,int start,int end 一次劃分結束 index i if ...