合并两个有序数组python_合并两个有序数组.py

# 合并两个有序数组

# 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。

#

# 说明:

# 初始化 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]

#

# 提示:

# -10^9 <= nums1[i], nums2[i] <= 10^9

# nums1.length == m + n

# nums2.length == n

class Solution:

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

left = 0

right = 0

for i in range(0,len(nums2)):

num = nums2[i]

ins = -1

c = len(nums1) - n

right = c-1

while left <= right:

mid = (left+right+1)//2

if nums1[mid] <= num and (((mid+1) >= c) or nums1[mid+1] >= num):

ins = mid

left = mid+1

break

elif nums1[mid] <= num:

left = mid+1

else:

right = mid-1

nums1.insert(ins+1,num)

s = Solution()

s.merge([1,2,3],3,[2,5,6],3)

一键复制

编辑

Web IDE

原始数据

按行查看

历史

已标记关键词 清除标记
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页