冒泡排序(英语:Bubble Sort)是一种简单的排序算法。此算法依次比较序列的两个元素的大小,如果元素的顺序错误,就交换其位置,直到序列的元素变得有序才停止遍历。 时间复杂度O(n²) 交换过程如下图: 图片来源:https://blog.csdn.net/u014745194 代码1 升序 l ...
分类:
编程语言 时间:
2020-07-29 15:35:02
阅读次数:
97
题目链接:https://www.acwing.com/problem/content/279/ 题目给定一个长度为n的序列g,和一个数m,要求将m分成n份,设定为数列a,使得数列g与数列a的乘积最小。根据排序不不等式,在g是升序的情况下,a是降序才会使得结果最小。所以对g进行降序排序之后,题意中的 ...
分类:
编程语言 时间:
2020-07-28 14:39:38
阅读次数:
80
目录: 1. 双指针:167. 两数之和 II - 输入有序数组 双指针:167. 两数之和 II - 输入有序数组 -- 2020-7-26 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必 ...
分类:
编程语言 时间:
2020-07-26 19:29:51
阅读次数:
73
1.实现方式 首先我们需要一个数组a,存储从第1个到第n个导弹的高度 然后一个数组d(其实是个栈),存储不上升序列 把a中的每个元素挨个加到d里面: (a中第i个元素为a[i],d长度为len,d中最后一个(也是最小的一个)为d[len]) 如果a[i] <= d[len],说明a[i]可以接在d后 ...
分类:
其他好文 时间:
2020-07-26 15:56:51
阅读次数:
70
题目大意 题目: 大致题意: 给定n个左闭右开的区间,选出尽量多的区间使得这些区间两两不交,求最多能选多少个。 思路解析 按照区间右端点升序排序,依次枚举各个区间,若与上一个被选区间无交集,那么就将这个区间选中。 为什么要用右端点升序呢?因为这样子的话留给后面时间就多了。 程序注释 #include ...
分类:
其他好文 时间:
2020-07-26 01:23:28
阅读次数:
55
冒泡排序 ''' 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大(升序),就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。最后的元素会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字 ...
分类:
编程语言 时间:
2020-07-26 00:38:05
阅读次数:
77
引子 最近练习时,觉得有些生疏,所以加强锻炼。 具体实现 快速排序(从小到大排序,升序) public class QuickSort{ public static void swap(int[] arr, int i, int j){ int temp = arr[i]; arr[i] = arr ...
分类:
编程语言 时间:
2020-07-24 22:11:29
阅读次数:
94
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 基础的二分查找,唯一需要注意的就是移位运算的优先级很低,需要加括号。 1 class Solution { 2 public: ...
分类:
其他好文 时间:
2020-07-24 21:36:41
阅读次数:
60
ORDER BY _column1, _column2; /* _column1升序,_column2升序 */ ORDER BY _column1, _column2 DESC; /* _column1升序,_column2降序 */ ORDER BY _column1 DESC, _column ...
分类:
数据库 时间:
2020-07-23 23:23:35
阅读次数:
137
给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复 ...
分类:
编程语言 时间:
2020-07-22 20:48:50
阅读次数:
60