用python 合并两个已经排好序的数组 并且新数组不能有重复的元素

'''
题目一:合并两个已经排好序的数组

思路是遍历两个数组,分别比较每个元素, 将较小的添加到新的数组里,比较完短的数组后将长的数组的元素直接拷贝到新数组即可

我写完后面试官说有一个问题 就是新数组有重复的数据 当时想的是再给新数组排序 去掉重复数组 他不满意

今天查了一下最佳答案是添加一个判断条件 如果两个元素相同 continue
'''
class Merge():
   
def MergeArr(arr1, arr2):
        result =[]
        length1 = len(
arr1)
        lenght2 = len(arr2)
       
if(length1 == 0):
            result =arr2
       
elif(lenght2 ==0):
            result =
arr1
       
while(length1 !=0 && lenght2 !=0):
           
for i in range (length1):
               
for j in range(lenght2):
                   
if (arr1[i]<arr2[j]):
                       result = result.append(
arr1[i])
                    
elif (arr1[i]>arr2[j]):
                        result = result.append(
arr1[j])

                    Else (arr1[i]==arr2[j]):

                        continue
                   
return result
                
if i == length1:
                    result = result.append(arr2[j-i])
                
elif j ==lenght2:
                    result = result.append(
arr1[i-j])
            
return result      


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值