数组的概念
- 1.数组下标都是从0开始
- 2.数组不能删除只能进行覆盖
- 3.数组内存空间都是连续的
二分查找类型
二分查找类型有两个限制条件,1.数组是有序数组。2.数组内无重复元素
所用到的js方法和属性
- 向下取整::
Math.floor()方法会返回小于或等于给定数字的最大整数。
Math.floor(4.9); // 输出 4
Math.floor(-3.1); // 输出 -4
- 向上取整:
Math.ceil()方法会返回大于或等于给定数字的最小整数。
Math.ceil(4.1); // 输出 5
Math.ceil(-3.9); // 输出 -3
- 四舍五入:可以使用
Math.round()方法
Math.round(4.5); // 输出 5
Math.round(4.1); // 输出 4
Math.round(-3.9); // 输出 -4
移除元素类型
一般可以使用暴力解法或者快慢指针
有序数组的平方
限制条件:1.给定非递减序列数组。2.返回的数组也按照非递减序列排序
所用到的js方法和属性
- 使用数组字面量:这是最常见的定义数组的方式,使用方括号
[]来包裹数组元素
let numbers = [1, 2, 3, 4, 5];
let fruits = ['apple', 'banana', 'orange'];
let mixedArray = [1, 'apple', true];
- 使用
Array构造函数:你可以使用Array构造函数来创建一个空数组或指定初始元素的数组
let emptyArray = new Array();
let arrayWithSize = new Array(5); // 创建有5个空位的数组
let arrayWithElements = new Array('apple', 'banana', 'orange');
- 使用
Array.from()方法:通过传入类数组或可迭代对象来创建数组。
let arrayFromRange = Array.from({ length: 5 }, (_, index) => index + 1); // 创建一个包含1到5的数组
let arrayFromString = Array.from('hello'); // 将字符串转换为字符数组
长度最小的子数组
可以采用暴力解法和滑动窗口
螺旋矩阵
所用到的js方法和属性
- 创建一个二维数组
let res = new Array(n).fill(0).map(() => new Array(n).fill(0));
-
new Array(n):创建一个长度为n的新数组,但数组中的元素尚未初始化。 -
.fill(0):使用fill(0)方法将上面创建的数组中的所有元素填充为0。 -
.map(() => new Array(n).fill(0)):对填充为0的一维数组进行映射操作,将每个元素映射为一个新的长度为n的数组,其中元素都为0。