LeetCode打卡27 合併兩個有序陣列

2021-09-27 02:13:09 字數 1095 閱讀 2145

給定兩個有序整數陣列 nums1 和 nums2,將 nums2 合併到 nums1 中,使得 num1 成為乙個有序陣列。

說明:初始化 nums1 和 nums2 的元素數量分別為 m 和 n。

你可以假設 nums1 有足夠的空間(空間大小大於或等於 m + n)來儲存 nums2 中的元素。

示例:輸入:

nums1 = [1,2,3,0,0,0], m = 3

nums2 = [2,5,6],       n = 3

輸出: [1,2,2,3,5,6]

class solution(object):

def merge(self, nums1, m, nums2, n):

""":type nums1: list[int]

:type m: int

:type nums2: list[int]

:type n: int

:rtype: void do not return anything, modify nums1 in-place instead.

"""# make a copy of nums1.

nums1_copy = nums1[:m]

nums1[:] =

# two get pointers for nums1_copy and nums2.

p1 = 0

p2 = 0

# compare elements from nums1_copy and nums2

# and add the smallest one into nums1.

while p1 < m and p2 < n:

if nums1_copy[p1] < nums2[p2]:

p1 += 1

else:

p2 += 1

# if there are still elements to add

if p1 < m:

nums1[p1 + p2:] = nums1_copy[p1:]

if p2 < n:

nums1[p1 + p2:] = nums2[p2:]

LeetCode打卡 2 兩數相加

解題思路 同時遍歷給出的鍊錶,使用乙個臨時變數來儲存中間計算數值 自我總結點 1.需要去看看c 結構體裡面寫函式的語法 2.熟悉leetcode的寫題格式 definition for singly linked list.struct listnode listnode int x val x n...

leetcode打卡9 題號2 兩數相加

給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...

LeetCode演算法打卡

475.供暖器 冬季已經來臨。你的任務是設計乙個有固定加熱半徑的供暖器向所有房屋供暖。現在,給出位於一條水平線上的房屋和供暖器的位置,找到可以覆蓋所有房屋的最小加熱半徑。所以,你的輸入將會是房屋和供暖器的位置。你將輸出供暖器的最小加熱半徑。說明 給出的房屋和供暖器的數目是非負數且不會超過 25000...