1.划分 函数partition用于将数组分为两段,一段返回小于基准值,一段大于基准值。并且基准值到达它应该在的位置。返回基准值的下标。 代码: 找到数组中个数超过一半的数 思路1: 既然这个数的个数超过总个数的一半,那么如果把数组排序,在中间的那个数,必定是所要找的数。所以把问题转化为找n/2大的 ...
分类:
编程语言 时间:
2020-02-28 21:00:59
阅读次数:
73
假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入n(n<50)个学生的成绩信息,按照学生的个人平均分从高到低输出他们的信息。如果平均分相同,按输入的先后顺序排列。 输入格式:输入一个正整数n(n<50),下面n行输入n个学生的信息,包括:学号、 ...
分类:
编程语言 时间:
2020-02-28 01:17:51
阅读次数:
135
题目链接:https://vjudge.net/contest/358714#problem/C 题意:求最大空凸包的面积,点的个数n<=50。 思路: 参考链接:https://blog.csdn.net/cdsszjj/article/details/79366813 计算几何+DP。 首先枚举 ...
分类:
其他好文 时间:
2020-02-26 14:08:22
阅读次数:
135
题目 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 思路 堆排序 收获 用优先队列实现最大最小堆 注意下列代码中优先队列的创建声明,需要自定义比较函数 代码 ...
分类:
其他好文 时间:
2020-02-24 00:25:13
阅读次数:
93
方法一:indexOf 方法 function isRepeat() { var ary = new Array("111", "22","22", "33", "111"); for (var i = 0; i < ary.length; i++) { console.log(ary.indexO ...
分类:
编程语言 时间:
2020-02-23 22:02:10
阅读次数:
86
public function arraySort($arr,$key,$type='asc'){ $keyArr = []; // 初始化存放数组将要排序的字段值 foreach ($arr as $k=>$v){ $keyArr[$k] = $v[$key]; // 循环获取到将要排序的字段值 ...
分类:
编程语言 时间:
2020-02-23 11:13:47
阅读次数:
73
冒泡排序和选择排序是排序算法中比较简单和容易实现的算法。冒泡排序:每一次排序过程,通过相邻元素的交换,将当前没有排好序的最大(小)移到数组的最右(左)端。 选择排序:每一次排序过程,我们获取当前没有排好序中的最大(小)的元素和数组最右端(左)的元素交换,循环这个过程即可实现对整个数组排序。选择排序的 ...
分类:
编程语言 时间:
2020-02-23 11:12:36
阅读次数:
75
/* * @Issue: 数组排序:从键盘读入多个整数,要求对这些整数实现从小到大或从大到小排序, 屏幕上输出排序结果。冒泡、选择、插入三种排序算法都可以 * @Author: 一届书生 * @LastEditTime: 2020-02-21 13:35:46 */ #include<iostrea ...
分类:
编程语言 时间:
2020-02-21 14:57:06
阅读次数:
83
摘要 在做一些算法题时常常会需要对数组、自定义对象、集合进行排序. 在java中对数组排序提供了 方法,对集合排序提供 方法。对自定义对象排序时要自己重写比较器,对象数组则调用Arrays.sort(),对象集合则调用Collections.sort()。两个方法默认都是升序,也可以重写比较器,实现 ...
分类:
其他好文 时间:
2020-02-21 14:27:20
阅读次数:
105
var arr=[1,5,7,9,16,2,4]; 第一种方法,取最小值: var temp; for(var i=0;i<arr.length-1;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i]>arr[j]){ temp=arr[i]; arr[ ...
分类:
编程语言 时间:
2020-02-20 00:11:17
阅读次数:
60