排序 选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法,而冒泡排序、插入排序、归并排序和基数排序是稳定的排序算法 (稳定的排序是指排序前后相同的两个数的相对位置是一致的) 一.冒泡排序 1.算法描述 比较相邻元素,如果第一个比第二个大,交换位置,这样每经过一趟就冒出一个最大的 2.代码实现 p ...
分类:
编程语言 时间:
2020-08-19 19:14:17
阅读次数:
66
题目大意 给出长度为n的排列,将其划分成单调子序列(上升or下降),满足子序列个数不超过长度为n的所有排列的划分最大值,即可以不需要把当前的划分成最优 题解 错误的做法:每次找出最长的上升/下降子序列,原因同只划上升序列 因为不需要最优,所以先考虑求出f(n) 结论:\(f(n)=min(k)-1, ...
分类:
其他好文 时间:
2020-08-17 17:52:31
阅读次数:
103
题目 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 分析与题解 在忽略空链表的情况下,利用递归的思想依次对两个链表的元素进行比较和合并,大致思路如下: $$\l ...
分类:
编程语言 时间:
2020-08-15 22:32:54
阅读次数:
63
import java.util.Arrays; public class Arrsort { public static void main(String[] args) { int[] arr = {5, 8, 3, 4, 9, 2, 7, 6, 1}; System.out.println(A ...
分类:
编程语言 时间:
2020-08-12 15:54:29
阅读次数:
56
给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组中不存在该元素,则返回“-1 -1”。 输入格式 第一行包含整数n和q,表示数组长度和询问个数。 第二行包含n个整数(均在1~10000范围内),表示完整数组。 ...
分类:
其他好文 时间:
2020-08-10 13:17:11
阅读次数:
72
给定一个长度为n的数组a,它有n(n+1)/2??个子数组。请计算这些子数组的和,然后按照升序排列,并返回排序后第k个数。 1≤n≤10?^5 1≤a?i≤10^?9 1≤k≤?n(n+1)/2 在线评测地址:点击此处前往 Example1 Input: [2,3,1,4] 6 Output:5 E ...
分类:
编程语言 时间:
2020-08-10 11:03:25
阅读次数:
93
地址 https://leetcode-cn.com/problems/kth-missing-positive-number/ 给你一个 严格升序排列 的正整数数组 arr 和一个整数 k 。 请你找到这个数组里第 k 个缺失的正整数。 示例 1: 输入:arr = [2,3,4,7,11], k ...
分类:
其他好文 时间:
2020-08-09 19:10:05
阅读次数:
80
1122. 数组的相对排序 给你两个数组,arr1 和 arr2, arr2 中的元素各不相同arr2 中的每个元素都出现在 arr1 中对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。 示 ...
分类:
编程语言 时间:
2020-08-09 09:19:24
阅读次数:
85
简单介绍和实现基础的排序算法:冒泡排序、插入排序、选择排序、归并排序、快速排序 ...
分类:
编程语言 时间:
2020-08-05 10:40:42
阅读次数:
81
1. 选择排序 2. 冒泡排序 3. sort包 ...
分类:
编程语言 时间:
2020-07-31 18:00:32
阅读次数:
66