- 博客(8)
- 收藏
- 关注
原创 56. 合并区间
摘要: 题目要求合并重叠区间,返回不重叠的区间数组。解法步骤:1. 按左端点排序;2. 遍历区间,分三种情况处理:无重叠则直接添加新区间,部分重叠则更新右端点,完全包含则跳过。使用新数组存储结果以避免修改原数据。时间复杂度主要由排序决定,为O(nlogn)。代码通过排序和一次遍历实现高效合并。 (字数:149)
2026-01-11 12:04:27
279
原创 python列表切片的基础操作
本文介绍了Python中列表切片操作的原理和应用。切片通过创建原列表的副本,避免了直接修改列表时元素索引变化导致的问题。演示了如何利用切片正确删除连续元素,以及切片的各种语法形式(如步长、反向切片等)。切片还可用于列表元素的增删改操作,但需注意赋值时两侧元素数量需匹配。切片为列表操作提供了灵活且安全的处理方式。
2025-09-15 16:34:13
219
原创 .~算法 排序 差分 动态规划 空间换时间 贪心算法
本文介绍了C语言中常见的排序算法实现,包括冒泡排序、选择排序、插入排序、归并排序和快速排序。冒泡排序通过相邻元素比较交换实现排序,选择排序通过选择最小元素交换位置,插入排序将未排序元素插入已排序序列。归并排序采用分治策略先拆分再合并,快速排序通过基准元素将序列分成两个子序列递归排序。每种算法都提供了详细的代码实现和注释,帮助理解其工作原理和具体操作步骤。这些算法涵盖了从简单到高效的不同排序方法,适用于不同的应用场景。
2025-08-17 20:25:15
917
原创 关于学生管理系统和冒泡,快速,选择排序以及二分查找的应用
本文介绍了一个用Python实现的学生信息管理系统,主要功能包括:1)学生信息的增删改查;2)两种查找方式(顺序查找和二分查找);3)三种排序算法(快速排序、归并排序和冒泡排序)实现按学分正序/逆序排列。系统采用面向对象设计,包含Student和Students两个类,通过菜单交互实现各项功能操作。其中二分查找需要先对数据进行排序,排序算法实现了递归和非递归版本。程序支持遍历输出所有学生信息,并提供了友好的用户交互界面。
2025-08-01 18:15:21
132
原创 这是一个关于排序和学生管理的练习
本文介绍了一个基于Python实现的学生管理系统。该系统具备以下功能:1) 学生信息的增删改查,其中查找功能实现了暴力查找和二分查找两种方法;2) 学生学分排序功能,支持正序(使用归并排序、快速排序)和逆序(使用冒泡排序)排列。系统采用面向对象编程,定义了Students和Student类来管理学生数据。主程序通过菜单驱动方式提供用户交互界面,支持学号、姓名、学分等信息的操作。核心算法包括二分查找、快速排序、归并排序和冒泡排序,展示了多种数据处理方法在实际系统中的应用。
2025-08-01 17:29:20
161
原创 二分查找基础语法和理解
二分查找算法解析 二分查找是一种高效的搜索算法,其核心思想是将数组划分为红蓝两部分,通过不断缩小搜索范围来定位分界线。算法步骤如下: 初始化两个指针:r(蓝色边界)指向-1,l(红色边界)指向n 计算中点m = (l+r)/2 判断m的颜色:若为蓝色则移动r至m,否则移动l至m 循环直到r+1=l,此时找到红蓝分界线 关键细节: 初始边界设置为数组外,确保不提前假设任何元素的颜色 中点计算保证m始终在有效范围内[0,n) 该方法适用于有序数组的快速查找,时间复杂度为O(log n)。
2025-07-24 12:25:09
199
原创 常用排序算法-冒泡-选择-归并-快速
将9 5 2 7 12 4 3 1 11从小到大进行排序,可以将这些逐步分裂,第一次分成两部分,一直分到不可再分,就是分到每组都只有一共数的时候再进行合并,合并的时候小的在前面大的在后面。这样最终全部合并完之后就会排号序了。怎么拆分的就怎么合并。
2025-07-24 12:18:19
285
原创 C++ (C - C++ 快速入门)
本文简要介绍了C++的基础语法知识,主要包括: 基本程序框架结构,包括头文件引用、命名空间和main函数; 输出语句cout的使用方法和换行方式(\n和endl); 单行和多行注释的写法; 变量的定义、赋值和基本数据类型(int、double、char、string、bool等); 常量的定义和使用限制; 标识符的命名规则; 输入语句cin的使用方法; 各种数据类型的特点和用法示例,包括整型、浮点型、字符型和布尔型等。 文章通过简洁的代码示例和注释,帮助读者快速理解C++的基本语法结构。
2025-07-21 12:10:03
1079
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅