当前位置: 首页 > news >正文

蓝桥杯宝藏排序题目算法(冒泡、选择、插入)

冒泡排序:

def bubble_sort(li):            # 函数方式for i in range(len(li)-1):exchange=Falsefor j in range(len(li)-i-1):if li[j]>li[j+1]:li[j],li[j+1]=li[j+1],li[j]exchange=Trueif not exchange:return

选择排序:

从左往右找到最小的元素,放在起始位置;重复上述步骤,依次找到第2小、第3小元素...

第0次循环从[0,n-1]中找最小元素a[x],与a[0]交换

第1次循环从[1,n-1]中找最小元素,与a[1]交换

第2次循环从[2,n-1]中找最小元素,与a[2]交换

第i次循环从[i,n-1]中找最小元素,与a[i]交换

第n-2次循环从[n-2,n-1]中找最小元素,与a[n-2]交换时间复杂度:O(n'2),空间复杂度O(1),稳定

n = int(input())
a = list(map(int, input().split()))
for i in range(n - 1):  # 一共n-1次!min = i  # 每次默认第一个值为最小值for j in range(i + 1, n):if a[j] < a[min]:min = ja[i], a[min] = a[min], a[i]print(' '.join(map(str, a)))

插入排序:

第一个元素看做已排序,从左往右遍历每一个元素:

在已排序元素中从后往前扫描 : 如果当前元素大于新元素,则该元素移动到后一位

重复第二步直至找到小于等于新元素则停止。

将上述步骤看做摸牌,每次摸一张牌从后往前判断是否可以插入

对于第i张牌a[i],[0, i-1]中的牌都是已经排好顺序的

从后往前逐个判断ai]是否大于a[i]

如果a[i]>a[i]:则a[i]往后挪一个位置;如果a[i]<=a[i]:此时在aj+1]的位置放置a[i]

时间复杂度:O(n^2),空间复杂度O(1),不稳定

for i in range(1,len(li)):  # 功n-1趟,i表示摸到牌的下标tmp=li[i]  # 每次摸的牌j=i-1      # 手里最右侧的while j>=0 and li[j]>tmp:    # 一直往左走li[j+1]=li[j]    # 右移j-=1li[j+1]=tmp   # 选好位置了

 

 

相关文章:

蓝桥杯宝藏排序题目算法(冒泡、选择、插入)

冒泡排序: def bubble_sort(li): # 函数方式for i in range(len(li)-1):exchangeFalsefor j in range(len(li)-i-1):if li[j]>li[j1]:li[j],li[j1]li[j1],li[j]exchangeTrueif not exchange:return 选择排序: 从左往右找到最小的元素&#xff0c;放在起始位置…...

如何使用Docker部署Dashy并无公网ip远程访问管理界面

文章目录 简介1. 安装Dashy2. 安装cpolar3.配置公网访问地址4. 固定域名访问 简介 Dashy 是一个开源的自托管的导航页配置服务&#xff0c;具有易于使用的可视化编辑器、状态检查、小工具和主题等功能。你可以将自己常用的一些网站聚合起来放在一起&#xff0c;形成自己的导航…...

【接口测试】如何定位BUG的产生原因

我们从在日常功能测试过程中对UI的每一次操作说白了就是对一个或者多个接口的一次调用&#xff0c;接口的返回的内容(移动端一般为json)经过前端代码的处理最终展示在页面上。http接口是离我们最近的一层接口&#xff0c;web端和移动端所展示的数据就来自于这层&#xff0c;那么…...

JavaScript 中的短路求值(if语句简洁写法--逻辑运算符||和的高级用法)

在JavaScript中&#xff0c;Short-Circuit Evaluation&#xff08;短路求值&#xff09;是一种逻辑运算的行为&#xff0c;其中表达式的求值在达到不必要的部分时就提前终止&#xff08;所以短路一词非常贴切&#xff09;。这种行为可以通过逻辑运算符&#xff08;例如&&am…...

普本毕业,还有逆风翻盘的机会吗?

作为普通二本的本科生&#xff0c;从踏入大学开始&#xff0c;我一直在不断寻找自己感兴趣的行业和职业方向。 在这里&#xff0c;我想给大家分享一些我从校园走向工作整个学习和求职过程&#xff0c;以及其中的酸甜苦辣&#xff0c;希望这些经历可以给各位学弟学妹一些鼓励和…...

spark:RDD编程(Python版)

RDD运行原理 RDD设计背景 许多选代目前的MapReduce框架都是把中间结果写入到稳定存储 (比如磁盘)中带来了大量的数据复制、磁盘IO和序列化开销 RDD就是为了满足这种需求而出现的&#xff0c;它提供了一个抽象的数据架构&#xff0c;我们不必担心底层数据的分布式特性&#xf…...

中国元宇宙论坛暨常孝元宇宙发布会即将在京举行

中国元宇宙论坛暨常孝元宇宙发布会将于2024年1月9日在北京科技会堂盛大开启。本次论坛汇聚业内顶尖专家、学者和企业代表,共同探讨中国元宇宙、常孝元宇宙《神由都城》的未来发展、技术创新和应用场景。此次发布会将颠覆我们对数字世界的认知,带来前所未有的体验。 《神由都城》…...

华为认证 | 云计算方向HCIE有效期多久?实验报名费多少?

云计算技术已经成为了企业和个人发展的重要网络技术支撑。 而在这个领域中&#xff0c;华为HCIE云计算证书也成为了越来越多人追求的敲门砖。 然而&#xff0c;很多人对于这个证书的有效期以及实验报名费并不清楚。 下面将为你详细解答这些问题。 01 云计算方向HCIE有效期多…...

动物分类识别教程+分类释义+界面展示

1.项目简介 动物分类教程分类释义界面展示 动物分类是生物学中的一个基础知识&#xff0c;它是对动物进行分类、命名和描述的科学方法。本教程将向您介绍动物分类的基本原则和方法&#xff0c;并提供一些常见的动物分类释义。 动物分类的基本原则 动物分类根据动物的形态、…...

【Java动态代理如何实现】

✅Java动态代理如何实现 ✅JDK动态代理和Cglib动态代理的区别 ✅拓展知识仓✅静态代理和动态代理的区别✅动态代理的用途✅Spring AOP的实现方式&#x1f4d1;JDK 动态代理的代码段&#x1f4d1;Cglib动态代理的代码块 ✅注意事项&#xff1a; 在Java中&#xff0c;实现动态代理…...

数据库(部分函数)

函数&#xff1a; 单行函数&#xff1a;会对查询中的每一数据进行处理 字符函数 length&#xff08;列名&#xff09; select name&#xff0c; 日期函数&#xff1a; now() 年月日时分秒 curdate() 年月日 curtime()时分秒 …...

基于Vite+Vue3 给项目引入Axios

基于ViteVue3 给项目引入Axios,方便与后端进行通信。 系列文章指路&#x1f449; 系列文章-基于Vue3创建前端项目并引入、配置常用的库和工具类 文章目录 安装依赖新建src/config/config.js 用于存放常用配置进行简单封装解决跨域问题调用尝试 安装依赖 npm install axios …...

为什么查企业的时候有的公司没有显示注册资金?

我们在查询企业信息时&#xff0c;有时候会遇到某一家企业没有注册资金的情况&#xff0c;但是该企业又不是已经注销的。出现这种情况是什么原因呢&#xff1f; 1.该公司是一家分公司&#xff0c;分公司没有独立法人资格&#xff0c;因此没有注册资金。 2.有些情况下&#xf…...

DataProcess-VOC数据图像和标签一起进行Resize

VOC数据图像和标签一起进行Resize 参加检测比赛的时候&#xff0c;很多时候工业原始数据尺度都比较大&#xff0c;如果对数据不提前进行处理&#xff0c;会导致数据在加载进内存时花费大量的时间&#xff0c;所以在执行训练程序之前需要将图像提前进行预处理。对于目标检测的数…...

MultiValueMap

MultiValueMap是Spring框架中提供的一个接口&#xff0c;它继承了Map接口&#xff0c;用于存储键值对&#xff0c;但与普通的Map不同的是&#xff0c;MultiValueMap中一个键可以对应多个值&#xff0c;因此它也可以被称为“多值Map”。 MultiValueMap的使用场景一般是在需要存…...

山西电力市场日前价格预测【2023-12-25】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-12-25&#xff09;山西电力市场全天平均日前电价为469.89元/MWh。其中&#xff0c;最高日前电价为1048.40元/MWh&#xff0c;预计出现在08:30。最低日前电价为252.77元/MWh&#xff0c;预计…...

【华为OD机试真题2023CD卷 JAVAJS】5G网络建设

华为OD2023(C&D卷)机试题库全覆盖,刷题指南点这里 5G网络建设 时间限制:4s 空间限制:256MB 限定语言:不限 题目描述: 现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N,接下来需要各个基站之间使用光纤进行连接以确保基站能互联互通,不同…...

OSI 七层参考模型及TCP/IP 四层模型

OSI 七层参考模型 七层模型&#xff0c;亦称 OSI &#xff08; Open System Interconnection &#xff09;参考模型&#xff0c;即开放式系统互联。参考模型是国际标准化组织&#xff08;ISO &#xff09;制定的一个用于计算机或通信系统间互联的标准体系&#xff0c;一般称为…...

【面向对象】对比JavaScript、Go、Ada、Python、C++、Java、PHP的访问限制。

在不同编程语言中&#xff0c;控制成员&#xff08;变量、方法、类等&#xff09;可见性的机制不尽相同。以下是对比JavaScript、Go、Ada、Python、C、Java、PHP所使用的访问限制关键字和约定&#xff1a; 一、JavaScript ### JavaScript访问限制 早期的JavaScript并没有类似…...

力扣(leetcode)第26题删除有序数组中的重复项(Python)

26.删除有序数组的重复项 题目链接&#xff1a;26.删除有序数组的重复项 给你一个非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 …...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

Java 加密常用的各种算法及其选择

在数字化时代&#xff0c;数据安全至关重要&#xff0c;Java 作为广泛应用的编程语言&#xff0c;提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景&#xff0c;有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

MySQL 8.0 事务全面讲解

以下是一个结合两次回答的 MySQL 8.0 事务全面讲解&#xff0c;涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容&#xff0c;并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念&#xff08;ACID&#xff09; 事务是…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...