冒泡排序,是我们学习数据结构第一个排序算法,也是一种最常见和简单的排序算法。 排序原理: 我们把一个数组从左到右依次两两元素比较,比较完成一趟后,能确定最大(最小)值,放在最右边(最左边); 剩下的元素重复上述步骤,直到整个数组有序。 该算法时间复杂度一般为n2 。 java实现代码如下: 该算法有 ...
分类:
编程语言 时间:
2017-08-12 22:43:49
阅读次数:
235
/* HDU 4819 Mosaic 题意:查询某个矩形内的最大最小值, 修改矩形内某点的值为该矩形(Mi+MA)/2; 二维线段树模板: 区间最值,单点更新。 */ #include using namespace std; const int INF = 0x3f3f3f3f; const in... ...
分类:
其他好文 时间:
2017-08-09 20:04:10
阅读次数:
131
个人心得:线段树就是将一段序列拆分为一个个单独的节点,不过每俩个节点又可以联系在一起,所以就能很好的结合,比如这一题, 每次插入的时候都将这一段区间的最大最小值更新,就能大大减少时间。 这个线段树建立是以数组的,根节点为0,后面每次都是父节点*2+1/2。 这题简单的教会了我如何创建线段树,以及一些 ...
分类:
其他好文 时间:
2017-08-09 16:55:30
阅读次数:
192
Math.min()和Math.max()不接受数组作为参数。 1.利用apply: apply会将数组拆分并传入调用的函数. ...
分类:
编程语言 时间:
2017-08-02 23:25:59
阅读次数:
121
返回数字的绝对值:abs() 取列表最大最小值:max() 、min() 统计序列长度:len() 返回两个数相除的商和余数:divmod() 计算两个数的乘方:pow() 对数字进行四舍五入:round() 判断一个对象是否能调用:callable() 查看一个对象的数据类型:type() 判断一 ...
分类:
其他好文 时间:
2017-08-01 22:58:25
阅读次数:
131
如今给出一个n个元素的书组,元素个数n。须要求出最大最小值. 方法1. 用max,min。分别记录数组最大最小值,顺序扫描数组,不断替换更新max。min,(max,min的初始值都为数组中的第一个元素) 方法2. 1.假设数组中仅仅有一个元素。那么它是最大也是最小值 2.否则数组中多于一个数。则能 ...
分类:
编程语言 时间:
2017-07-29 13:55:29
阅读次数:
183
function sumArray(array) { if (!array) { return 0; } var len = array.length; if (len big ? big = array[i] : big; array[i] < small ? small = array[i] :... ...
分类:
编程语言 时间:
2017-07-28 19:25:00
阅读次数:
156
树状数组还是挺方便的,代码短功能也强大,完全可以用来替代一部分线段树的功能 有三种用法 一是对于单点更新,区间查询的 二是对于单点更新,但是查询区间最大最小值的 三是对于区间更新,然后区间查询 这个区间更新主要是要用到一个差分数组 我们假设sigma(r,i)表示r数组的前i项和,调用一次的复杂度是 ...
分类:
编程语言 时间:
2017-07-18 15:31:44
阅读次数:
193
//js Math对象常用方法// 一组数字求最大最小值var max=Math.max(1,2,3,4,8,-9);//求最大值var min=Math.min(1,2,3,4,8,-9);//求最小值console.log(max,min);//返回 8 -9 注意:如果参数中出现字符串 则返回 ...
分类:
Web程序 时间:
2017-07-17 18:44:51
阅读次数:
185
这个裸题,滑动窗口求最大最小值,单调队列来两边,一次单调递增q[s]就是最小值,一次单调递减q[s]就是最大值 cin会超时,解除同步也没用。。。 #include<map> #include<set> #include<cmath> #include<queue> #include<stack> ...
分类:
其他好文 时间:
2017-07-13 01:00:31
阅读次数:
178