为了账号安全,请及时绑定邮箱和手机立即绑定

两个有序数组的合并,python版

标签:
Python


看到其他部门的笔试题,发现有这个题目:两个有序数组的合并,于是尝试着用python写出来

关键:

1、两个数组已经排序好,所以内部无需比较,比较都是存在于两个数组之间

2、比较结束后,需要将其中一个数组的剩余序列添加到最终的数组

具体如下:

if __name__ == '__main__':

    a=[2,4,6,8,9,10]

    b=[0,1,3,6,7,9,100,134]

    counta=countb=0#分别记录两个数组遍历到哪个位置了

    c=[]

    for i in range(counta,len(a)):

        for j in range(countb,len(b)):

            print "b[j]:",j,b[j]

            if(b[j]<=a[i]):

                c.append(b[j])

                countb=countb+1#append了b[j],那么b数组的遍历的记录应该自增

            else:

                c.append(a[i])

                counta=counta+1#append了a[i],那么a数组的遍历的记录应该自增

                break#为啥要break?因为到此位置,说明b数组不能继续往下遍历了,该遍历a了

    #现在就需要吧两个数组中剩余的元素依次append到c中即可

    if (counta<len(a)):

        for i in range(counta,len(a)):

            c.append(a[i])

    if (countb<len(b)):

        for j in range(countb,len(b)):

            c.append(b[j])

    print c

©著作权归作者所有:来自51CTO博客作者hh2o的原创作品,如需转载,请与作者联系,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消