LeetCode騰訊精選練習50 第一天

2021-10-14 11:25:15 字數 2217 閱讀 6715

題目4:給定兩個大小為 m 和 n 的正序(從小到大)陣列 nums1 和 nums2。請你找出並返回這兩個正序陣列的中位數

題解:

class

solution

:def

findmediansortedarrays

(self, nums1: list[

int]

, nums2: list[

int])-

>

float

: sum_list =

for i in nums1:

for j in nums2:

sum_list.sort()if

len(sum_list)%2

==0: res =

(sum_list[

len(sum_list)//2

]+sum_list[

len(sum_list)//2

-1])

/2else

: res = sum_list[

len(sum_list)//2

]return res

執行結果

題目2:給你兩個 非空 的鍊錶,表示兩個非負的整數。它們每位數字都是按照 逆序 的方式儲存的,並且每個節點只能儲存 一位 數字。

請你將兩個數相加,並以相同形式返回乙個表示和的鍊錶。

你可以假設除了數字 0 之外,這兩個數都不會以 0 開頭

題解:

class

solution

:def

addtwonumbers

(self, l1: listnode, l2: listnode)

-> listnode:

re = listnode(0)

# 建立乙個節點

r = re # r儲存初始鍊錶

carry = r.val # carry取值

while

(l1 or l2)

:# 檢查是否都為空

x = l1.val if l1 else

0# 取值or取0

y = l2.val if l2 else

0 s = carry+x+y # 加法計算

carry = s//

10# 取整

r.next

= listnode(s%10)

# r下乙個節點值,取餘

r = r.

next

if(l1!=

none

):l1 = l1.

next

# 取下乙個節點的值

if(l2!=

none

):l2 = l2.

next

if(carry>0)

: r.

next

= listnode(1)

# 超出範圍設定1

return re.

next

# 返回re

執行結果

題目5:給你乙個字串 s,找到 s 中最長的回文子串。

題解:

class

solution

:def

longestpalindrome

(self, s:

str)

->

str:

for j in

range

(len

(s),-1

,-1)

:# 倒序

for i in

range

(len

(s)-j)

:# 左側的對立

Leetcode騰訊精選練習2

原題 兩個大小為 m 和 n 的排序陣列 nums1 和 nums2 請找出兩個排序陣列的中位數並且總的執行時間複雜度為 o log m n 示例 1 nums1 1,3 nums2 2 中位數是 2.0 示例 2 nums1 1,2 nums2 3,4 中位數是 2 3 2 2.5 看到這題目自然...

Leetcode騰訊精選練習04

原題 leetcode7 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1...

Leetcode騰訊精選練習05

請你來實現乙個atoi函式,使其能將字串轉換成整數。首先,該函式會根據需要丟棄無用的開頭空格字元,直到尋找到第乙個非空格的字元為止。當我們尋找到的第乙個非空字元為正或者負號時,則將該符號與之後面盡可能多的連續數字組合起來,作為該整數的正負號 假如第乙個非空字元是數字,則直接將其與之後連續的數字字元組...