题解 | #合并两个有序的数组#

合并两个有序的数组

https://www.nowcoder.com/practice/89865d4375634fc484f3a24b7fe65665

#
# 
# @param A int整型一维数组 
# @param B int整型一维数组 
# @return void
#
class Solution:
    def merge(self , A, m, B, n):
        # write code here
        p,q = m-1,n-1
        tail = m+n-1
        while p >= 0 or q >= 0:
            if p == -1:
                A[tail] = B[q]
                q -= 1
            elif q == -1:
                A[tail] = A[p]
                p -= 1
            elif A[p] > B[q]:
                A[tail] = A[p]
                p -= 1
            else:
                A[tail] = B[q]
                q -= 1
            tail -= 1
        
        return A

双指针的典型应用,哪个数组的值大就放在A的后面,如果还有剩余的就把该数组的值全都添加到A中

全部评论

相关推荐

代码不跑我跑_秋招版:北大杀完9✌杀,9✌杀完鼠鼠杀
你最希望上岸的公司是?
点赞 评论 收藏
分享
07-28 00:10
已编辑
门头沟学院 算法工程师
码农索隆:这哥们库库在我帖子下评论
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务