排序 冒泡排序 从第一个元素开始,把当前元素和下一个索引元素进行比较。如果当前元素大,那么就交换位置,重复操作比较至最后一个元素,此时最后一个元素就是最大的数。下一轮重复以上操作,此时无需比较最后一个元素,只需比较到length-2位置。 实现代码如下: function bubble(array) ...
分类:
编程语言 时间:
2020-07-28 00:22:28
阅读次数:
88
首先先让我们认识离散化用的函数,STL给我们提供了便利: unique(start,end);//取出有序序列重复元素,左闭右开,返回去重复序列最后一个元素位置 lower_bound(start,end,key);//左闭右开中寻找第一个大等于key的数,返回值 std::sort(a+1,a+n ...
分类:
其他好文 时间:
2020-07-17 22:24:59
阅读次数:
82
2020-07-14 下一个更大元素 II 给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素), 输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数, 这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。 题解: ...
分类:
其他好文 时间:
2020-07-14 18:04:02
阅读次数:
48
数组/对象方法 1、remove(元素筛选,分到两个数组) 2、sortedUniq (去重,排序) 3、takeRightWhile ( 从array数组的最后一个元素开始提取元素,直到 predicate 返回假值 ) 4、uniqBy (去重,排序) 5、groupBy(分组) const u ...
分类:
其他好文 时间:
2020-07-13 15:24:42
阅读次数:
72
添加删除数组元素的元素 方法名 说明 返回值 push() 末尾添加一个或多个元素,注意修改原数组 并返回新的长度 pop() 删除数组最后一个元素,把数组长度减1,无参数、修改原数组 返回它删除的元素的值 unshift() 向数组的开头添加一个或更多元素,注意修改原数组 并返回新的长度 shif ...
分类:
编程语言 时间:
2020-07-11 23:00:08
阅读次数:
68
这道题是要我们在一个二维数组里搜索某个元素target,找到了返回true,没找到返回false。 这个二维数组性质是,每一行都是升序的,且每一行的最后一个元素小于下一行的第一个元素。 都说升序和查找了,显然应该想到二分。 这题我最开始先按行二分,确定target(如果在数组里)所在的行,再对这一行 ...
分类:
其他好文 时间:
2020-07-04 22:55:42
阅读次数:
68
###题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 ###题目解析 采用分治法的思想,找到根结点、左子树的序列、右子树的序列,分别判断左右子序列是否为二叉树的后序序列。 后序遍历序列的最后一个元素 ...
分类:
其他好文 时间:
2020-07-03 12:15:58
阅读次数:
60
码字不易,喜欢请点赞!!!1.数据结构基础2.线性表(顺序存储、链式存储) 元素之间是有顺序的:第一个元素无前驱,最后一个元素无后继,其他元素都有前驱和后继顺序存储结构:用一段地址连续的存储单元一次存储线性表的数据元素(存取时间复杂度为O(1),插入或删除时间复杂度为O(N),适合数据量不大并且存取 ...
分类:
编程语言 时间:
2020-06-30 12:41:35
阅读次数:
97
问题: 替换当前元素为,当前元素以后元素的最大值。 最后一个元素替换为-1。 Example 1: Input: arr = [17,18,5,4,6,1] Output: [18,6,6,6,1,-1] Constraints: 1 <= arr.length <= 10^4 1 <= arr[i ...
分类:
其他好文 时间:
2020-06-29 15:26:30
阅读次数:
63
1 var twoSum = function(nums, target) { 2 let a = nums.length; 3 while(a > 1) { 4 let last = nums.pop(); //pop出最后一个元素并将返回值赋值给last 5 if (nums.indexOf(t ...
分类:
其他好文 时间:
2020-06-29 00:12:11
阅读次数:
77