Python编程如何合并有序数组

liftword3周前 (04-23)技术文章5

如果现在有两个数组,用户需要我们把这数组要合在一起,要怎么弄呢?

我们要分析逻辑,只要你的逻辑思路是对的,实现起来就不难了,就怕没有思路,那实现就很难。按照思路编制出来,然后调试运行是不是达到的预期的效果。

来看下,首先我们考虑到2个数组,那么就要设置二个数组,无论是你预先设置,还是让用户输入,总是要有,另外我们还要有序,不可以插入就可以了。

差不多了,我们可以定义一个方法去实现,然后实例化就好了


代码如下:

  def h_arrays(nums1, nums2):#自定义一个吧
    new_num = []#一个新的数组来保存,你也可以用其中一个数组保存,根据实际来选择
    i = j = 0
   
    # 遍历两个数组,比较元素大小
    while i < len(nums1) and j < len(nums2):#通过比较,我们把元素插入进new_num中
        if nums1[i] <= nums2[j]:
            new_num.append(nums1[i])#如果从大到小,就倒着来
            i += 1#变量要增加,直到条件结束
        else:
            new_num.append(nums2[j])
            j += 1
   
    # 将剩余元素添加到结果中
    new_num += nums1[i:]
    new_num += nums2[j:]
   
    return new_num
# 现在我们通过预设数组,你可以随机或者通过用户输入
nums1 = [1, 3, 5]
nums2 = [2, 4, 6]
print(h_arrays(nums1, nums2))  # 输出 [1, 2, 3, 4, 5, 6]

不同的实现,定义的方法有所不同,比如你不用新的数组,选择其中一个数组保存,从前从后插入,然后排序也是可以。只要结果达到预期就是成功,效率怎么样数据量少的时候也感觉不出来,多练就会发现新知识,掌握好编制方法。有兴趣就多练练吧。

相关文章

Python实现数组条件判断

任务要求对一个整数数组,如果整数数组中存在重复元素且重复元素均不相邻,函数返回字符"01";如果整数数组每个元素均不相同且偶数元素个数大于奇数元素个数,函数返回字符"02...

Python 中数组和列表之间的区别

在这篇文章中,您将了解 Python 中数组和列表之间的区别。Python 列表Python 列表是一种内置数据结构,是包含在方括号[]的元素集合。它们具有许多独特的属性,使它们与其他数据结构不同。有...

Python数组去重和排序

from collections import Counter def remove_duplicates_and_sort(arr): # 统计出现次数 count = Count...

Python中的数组,你了解多少?

数组是存储在连续内存块中的相同数据类型的元素的集合。Python 中的数组可以使用该模块创建array,该模块提供了多种类型的数组,包括整数数组、浮点数数组和字符数组。Python 中的数组可以是一维...

protobuf之序列化数据和反序列化数据基础知识

什么是 protobufProtocal Buffers(简称protobuf)是谷歌的一项技术,用于结构化的数据序列化、反序列化。Protocol Buffers 是一种语言无关、平台无关、可扩展的...