江南才子 发表于 2021-6-23 22:26:15

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

  看到其他部门的笔试题,发现有这个题目:两个有序数组的合并,于是尝试着用python写出来关键:
1、两个数组已经排序好,所以内部无需比较,比较都是存在于两个数组之间
2、比较结束后,需要将其中一个数组的剩余序列添加到最终的数组
具体如下:if __name__ == '__main__':
a=
b=
counta=countb=0#分别记录两个数组遍历到哪个位置了
c=[]
for i in range(counta,len(a)):

      for j in range(countb,len(b)):
            print "b:",j,b
            if(b<=a):
                c.append(b)
                countb=countb+1#append了b,那么b数组的遍历的记录应该自增
            else:
                c.append(a)
                counta=counta+1#append了a,那么a数组的遍历的记录应该自增
                break#为啥要break?因为到此位置,说明b数组不能继续往下遍历了,该遍历a了  #现在就需要吧两个数组中剩余的元素依次append到c中即可
  if (counta<len(a)):

      for i in range(counta,len(a)):
            c.append(a)
    if (countb&lt;len(b)):
      for j in range(countb,len(b)):
            c.append(b)    print c

页: [1]
查看完整版本: 两个有序数组的合并,python版