算法:多个无序数组合并排序

2023-11-16

思路1:先单独排序,再合并 

注意:sorted函数是又返回值的,不改变原来list,注意

若是多个数组,则可以对其中所有第一个数进行再排序

def sort1(list1,list2):
    list1 = sorted(list1)
    list2 = sorted(list2)
    res = []
    while(len(list1) and len(list2)):
        if list1[0] < list2[0]:
            res.append(list1[0])
            del list1[0]
        else:
            res.append(list2[0])
            del list2[0]
    res.extend(list1)
    res.extend(list2)
    print(res)

思路2:插入排序到第三个空数组

考虑细节:1 注意判断是否是最小元素,插入到头部

                  2 其实可以合并重复代码,多个数组也是一样的,三层循环。

def sort2(list1,list2):
    res = []
    for i in range(len(list1)):
        if len(res) == 0:
            res.append(list1[i])
            continue
        for j in range(len(res)-1,-2,-1):

            if list1[i] < res[j]:
                if j == 0:
                    res.insert(0, list1[i])
                continue
            else:
                res.insert(j+1,list1[i])
                break

    for i in range(len(list2)):
        for j in range(len(res)-1,-2,-1):
            if list2[i] < res[j]:
                if j == 0:
                    res.insert(0, list2[i])
                continue
            else:
                res.insert(j+1,list2[i])
                break
    print(res)
sort1([3,4,2],[2,4,1,5,6])


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

算法:多个无序数组合并排序 的相关文章

  • 解决127.0.0.1 已拒绝连接的方法

    127 0 0 1 已拒绝连接 出现这种情况时 打开cmd 在cmd中 ping 127 0 0 1 会出现下图情况 在cmd中ping 127 0 0 1解析出来的是IPV6的 1 原因是windows有个优先解析列表 当ipv6的优先级
  • 电源篇 -- 升压电路 Boost

    感谢阅读本文 在接下来很长的一段时间里 我将陆续分享项目实战经验 从电源 单片机 晶体管 驱动电路 显示电路 有线通讯 无线通信 传感器 原理图设计 PCB设计 软件设计 上位机等 给新手综合学习的平台 给老司机交流的平台 所有文章来源于项

随机推荐

  • Android 读取assets中json文件

    1 通过BufferedReader方式读取 fun getAssetsFile fileName String context Context String 将json数据变成字符串 val stringBuilder StringBui
  • JavaScript-XHR-深入理解

    JavaScript XHR 深入理解 1 XHR Asynchronous JavaScript And XML 初始 1 1 xhr request demo 1 2 status of XHRHttpRequest 1 3 send
  • 深入分析父子线程、进程终止顺序不同产生的结果

    转自 http www jb51 net article 37374 htm 本篇文章是对父子线程 进程终止顺序不同产生的结果进行了详细的分析介绍 需要的朋友参考下 Linux下编程 线程 进程退出顺序问题纷纷扰扰 如果父进程 线程先于子进
  • 创建和管理 Windows Server 2019虚拟机

    1 VMware Workstation 虚拟机的网络模型 只安装虚拟机还是不够的 通常还需要虚拟机能与主机以及其他虚拟机进行通信 如大部分项目实训 都要通过在宿主机中安装 Windows Server 2019虚拟机 然后在宿主机与虚拟机
  • NPM常用命令

    npm install npm g 全局安装最新npm g所有地方都可以用 不用配置环境变量 npm install 下载的模块名 版本号 可以下载安装模块并安装指定的版本 npm config get registry 查看当前使用镜像
  • 经典算法题思路整理-Leetcode力扣经典算法题目整理

    自己能在面试中A4纸写出来的代码才是好代码 不要一味追求复杂度低的代码 如果写都写不出来更不用谈复杂度 第一遍先大概粗过一遍题目思路 第二遍再刷代码 标注出不熟悉的题目 隔天复习 加强记忆 数组 数学 字符串 链表 二叉树 回溯 搜索 动态
  • Python Matplotlib基本使用

    1 对坐标轴的操作 import matplotlib pyplot as plt plt figure num 1 x np linspace 0 np pi y sin np sin x plt plot x y sin 生成线段图 p
  • 使用Pytorch计算分类模型的混淆矩阵

    第一部分 基础原理 参考链接 1 使用pytorch和tensorflow计算分类模型的混淆矩阵 B站视频讲解 推荐博文 4 4 2分类模型评判指标 一 混淆矩阵 Confusion Matrix 第二部分 代码详解 1 YOLOV5 5
  • 真正的opencv配置,搞了好久。

    opencv VS2010 win7 64位 首先 opencv版本 vs版本 系统多少位都没关系 虽然系统是64位的 但是只要你想编写在32位上也可以跑的程序 那就按这个来就行 1 环境变量 新建环境变量例如opencv 然后在path里
  • python实现将给定列表划分为元素和大致相等的两个子列表

    假设现有列表 300 150 75 38 19 9 5 2 我想把它划分为两个子列表 并要求两个列表的元素和大致相等 应该如何做 这是一个很有意思的问题 我们期待的答案应该是 list1 300 list2 150 75 38 19 9 5
  • 接口测试面试题,等你来看

    1 你们公司的接口测试流程是 接口测试我们是在xx项目做的 主要有xx接口 xx接口等 1 首先是从开发那里拿到API接口文档 了解接口业务 包括接口地址 接口方式 入参 出参 token鉴权 返回格式等信息 2 然后使用postman或j
  • 人工智能---深度学习神经网络神经元的实现

    系列文章目录 人工智能 深度学习从感知机到神经网络 文章目录 系列文章目录 前言 一 神经元的组成 二 激活函数的实现 1 什么是激活函数 2 常见的激活函数 3 激活函数实现 三 神经元实现 1 初始化参数 2 权重设置 3 偏置设置 4
  • servlet和java区别_Java中Applet和Servlet之间的区别是什么

    在Java中 Applet和servlet的主要区别是 applet是在客户端计算机上执行的应用程序 Applet和servlet是小型Java程序或应用程序 但是它们之间存在着许多差异 本篇文章就给大家介绍Applet和servlet的区
  • 中标麒麟QT中qDebug无输出问题解决办法

    一 系统环境 中标麒麟V5 qt creator 4 3 1 qt5 qtbase 5 6 2 二 问题 代码中qDebug 函数无输出 但qInfo 和qWarning 有输出 创建一个test工程 使用qDebug 打印信息 但是没有任
  • 新冠肺炎国内外数据实时API接口

    这个是从丁香园和百度疫情获取的两套疫情数据 使用Springboot封装了一下 对外提供API接口 数据包括 国内疫情数据 全球疫情数据 疫情最新资讯 其中丁香园包含了各种JPG格式的图表 百度包含今日疫情热搜等 百度包含了疫情历史数据 具
  • 3.4 DML

    package com atguigu import org apache hadoop hbase Cell import org apache hadoop hbase CellUtil import org apache hadoop
  • 【python】python获取两个list交集

    获取两个list 的交集 方法一 a 2 3 4 5 b 2 5 8 tmp val for val in a if val in b print tmp 2 5 方法二 比方法一快 print list set a intersectio
  • js实现WebSocket 连接

    一 WebSocket 简单介绍 1 HTTP和WebSocket的区别 http 通信只能由客户端发起 WebSocket 服务器可以主动向客户端推送信息 客户端也可以主动向服务器发送信息 是真正的双向平等对话 属于服务器推送技术的一种
  • 崩坏3渠道服扫码登录桌面版的方法教程

    文章目录 一 渠道服分类 二 扫码登录方法 1 官服或手机有相应渠道服版本 2 B服 vivo oppo UC 小米 3 应用宝 QQ 微信 华为 魅族 三 注意事项及问题解决方法 一 渠道服分类 崩坏3rd 渠道服扫码登录桌面版方法 崩坏
  • 算法:多个无序数组合并排序

    思路1 先单独排序 再合并 注意 sorted函数是又返回值的 不改变原来list 注意 若是多个数组 则可以对其中所有第一个数进行再排序 def sort1 list1 list2 list1 sorted list1 list2 sor