最近遇到的几个有意思问题,记录分享一下。 1. 合并三个有序数组(合并K个有序数组) 假如有这么三个数组:(arr包含的三个数组) 问题:K个数组,总共N个元素,合并成一个有序数组。(以升序为例) 大家一眼看上去肯定会想到归并排序,合并两个有序数组是归并排序的最后一步的动作,通过两个指针引导比较大小 ...
分类:
编程语言 时间:
2020-05-24 21:25:25
阅读次数:
66
环形队列 思路介绍 思路如下: front 变量: front 就指向队列的第 个元素,也就是说arr[front]就是队列的第一个元素,front的初始值= 0 rear 变量: rear 指向队列的最后一个元素的后 一个位置因为希望空出一个空间做为约定.rear的初始值=0 当队列满时,条件是( ...
分类:
其他好文 时间:
2020-05-23 13:34:14
阅读次数:
43
一. 扩展运算符(...):用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中 数组拷贝:[...arr] 对象拷贝:{...obj} 1. 发现问题:实测当使用...进行拷贝数组后遇到问题并解决 如果是普通对象倒是没有问题,使用foreach不会改变到原数据 但是数组是存放对象,这样拷贝会失效 ...
分类:
其他好文 时间:
2020-05-23 13:29:13
阅读次数:
55
题目: 给一个整数数组 arr,其中每个元素都 不相同。 请你找到所有具有最小绝对差的元素对,并且按升序的顺序返回。 示例 1: 输入:arr = [4,2,1,3]输出:[[1,2],[2,3],[3,4]]示例 2: 输入:arr = [1,3,6,10,15]输出:[[1,3]]示例 3: 输 ...
分类:
Web程序 时间:
2020-05-22 21:15:05
阅读次数:
72
原数组: var arr = [ { time: 1, title: '2' }, { time: 1, title: '2' }, { time: 2, title: '1' } ] 最终数组: let arrResult = [ { time: 1, number: 2, title: "2 2 ...
分类:
编程语言 时间:
2020-05-21 21:12:48
阅读次数:
196
最近正在重新看算法,记录关于堆排的一些特性和个人理解; 设:初始数组 5 0 6 8 2 代码清单: public static void heapInsert(int[] arr, int index) { //将数组转换成为大根堆的形式 //找父节点 while (arr[index] > ar ...
分类:
编程语言 时间:
2020-05-21 13:16:29
阅读次数:
64
对于如下二维数组,要求对其进行去重: $arr = array( '0'=>array( 'name'=>'james', 'age'=>30, ), '1'=>array( 'name'=>'susu', 'age'=>26, ), '2'=>array( 'name'=>'james', 'ag ...
分类:
编程语言 时间:
2020-05-21 12:00:45
阅读次数:
108
1 /* 2 * int类型的数组对象 3 * int[] arr = {9, 8, 10, 7, 6, 0, 11}; 4 * 经过冒泡排序对以上数组中的元素进行排序 5 * 6 * 原始数据:9,8,10,7,6,0,11 7 * 第一次循环: 第零位9跟第一位8进行比较,交换位置:8,9,10 ...
分类:
编程语言 时间:
2020-05-21 11:56:38
阅读次数:
50
1 //java8中的数组排序 2 public static void main(String[] args) { 3 int[] arr=new int[1024]; 4 Random random = new Random(); 5 for (int i = 0; i < arr.length ...
分类:
编程语言 时间:
2020-05-20 22:47:37
阅读次数:
80
在一个有序的数组中,插入新的数据,实现这种的操作就是插入排序 function insertSort(arr) { for(let i=1;i<arr.length;i++){//外循环从1开始,默认arr[0]是有序段 for(let j=i;j>0;j--){ if(arr[j]<arr[j-1 ...
分类:
编程语言 时间:
2020-05-20 13:59:21
阅读次数:
38