算法
文章平均质量分 53
贱贱Chan
这个作者很懒,什么都没留下…
展开
-
前端算法-数组篇(四)-序数组的平方
那么数组平方的最大值就在数组的两端,不是最左边就是最右边,不可能是中间。定义一个新数组result,和A数组一样的大小,让k指向result数组终止位置。如果A[i] * A[i] >= A[j] * A[j] 那么result[k–] = A[i] * A[i];给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。如果A[i] * A[i] < A[j] * A[j] 那么result[k–] = A[j] * A[j];原创 2023-03-29 22:30:18 · 88 阅读 · 0 评论 -
前端算法-数组篇(三)-移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。两层for循环,一个for循环遍历数组元素 ,第二个for循环更新数组。时间复杂度是O(n^2)。时间复杂度:O(n),空间复杂度:O(1)原创 2023-03-28 21:48:08 · 180 阅读 · 0 评论 -
前端算法-数组篇(二)-二分查找
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。二分法,区间的定义一般为两种,左闭右闭即[left, right],或者左闭右开即[left, right)。原创 2023-02-25 17:27:57 · 120 阅读 · 0 评论 -
前端算法-数组篇(一)
数组是存放在连续内存空间上的相同类型数据的集合。数组下标都是从0开始的。数组内存空间的地址是连续的因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。数组的元素是不能删的,只能覆盖。注:因为JS数组可以存储类型完全不一样的数据,这就意味着,JS 数组中内存地址不是连续的。不过,现在的 JS 引擎为了优化 JS 的性能,它会分配一个连续的内存空间给存储了相同数据类型的数组,以达到更好的遍历效果。原创 2023-02-25 16:56:10 · 64 阅读 · 0 评论