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