一、常用的数组方法 ★ 直接操作影响原数组的方法: Array.push() // 向数组的末尾添加一个或多个元素,并返回新的数组长度。原数组改变。 Array.pop() // 删除并返回数组的最后一个元素,若该数组为空,则返回 undefined 。原数组改变。 Array.unshift() ...
分类:
编程语言 时间:
2020-12-07 12:27:08
阅读次数:
6
<?php /** * @param array $arr 递增数字数组 * @param int $number 待查找的数字 * @return int 返回找到的键 */ function binary_search($arr,$number){ // 非数组或数组为空,返回-1 if(!is ...
分类:
其他好文 时间:
2020-08-20 19:22:52
阅读次数:
94
归并两个已排序数组为一个数组,不同于归并排序的归并用一个额外的数组,这里在第一个数组预留出足够的空间,所以需要直接在第一个数组里存放原来的两个数组的所有元素。 归并排序里,是额外开一个数组,然后两个指针分别从第一个数组和第二个数组的开头进行比较,比较小的那一个元素加入新数组中,然后某个数组为空之后, ...
分类:
编程语言 时间:
2020-07-18 11:17:55
阅读次数:
53
二分查找 思想:二分搜索是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。 ...
分类:
其他好文 时间:
2020-07-05 20:59:19
阅读次数:
47
shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined var a = [1,2,3,4,5]; var b = a.shift(); //a:[2,3,4,5] b:1 unshift:将参数添加到原数组开头,并返回数组的长度 var a = [1,2,3,4,5] ...
分类:
编程语言 时间:
2020-06-17 18:29:16
阅读次数:
56
归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。 将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。 程序使用了嵌套程 ...
分类:
编程语言 时间:
2020-06-02 19:00:52
阅读次数:
71
Level 8kyu :Count of positives / sum of negatives 给定一个整数数组。 返回一个数组,其中第一个元素是正数的计数,第二个元素是负数的总和。 如果输入数组为空或为null,则返回一个空数组。 例 对于输入[1, 2, 3, 4, 5, 6, 7, 8, ...
分类:
其他好文 时间:
2020-05-23 00:33:59
阅读次数:
52
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 这道题要注意对二维数组为空的判断,不能用if(array==null)因为有[[]],应该用数组长度判断: ...
分类:
编程语言 时间:
2020-05-02 19:08:24
阅读次数:
53
1、hash(key),取key的hashcode进行高位运算,返回hash值2、如果hash数组为空,直接resize()3、对hash进行取模运算计算,得到key-value在数组中的存储位置i(1)如果table[i] == null,直接插入Node<key,value>(2)如果table ...
分类:
其他好文 时间:
2020-05-01 23:45:06
阅读次数:
88
归并排序 归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。 将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。 ...
分类:
编程语言 时间:
2020-04-29 00:46:58
阅读次数:
74