随笔分类 - 数组
摘要:题目描述 给定一个每个元素都是升序数组的二维数组和一个target,判断target是否在数组中 返回boolean类型 思路分析 方法一: 遍历每个元素,判断是否相等 方法二:将数组拍平,也就是数组扁平化,之后在判断里面有没有该target 方法三:对每个子数组都是用二分查找法,去判断其中有没有
阅读全文
摘要:reduce回顾 array.reduce(function(total, currentValue, currentIndex, arr), initialValue) reduce接收两个参数: 第一个参数为一个回调函数 第二个参数表示初始值 回调函数中接收四个参数(pre,cur,index,
阅读全文
摘要:Js中filter的实现 思路分析 filter是数组的方法,因此我们可以将它挂载到prototype上 filter接收一个函数,对数组的每一个元素都调用这个函数 一般传递的参数是个过滤条件,将符合要求的元素返回,会返回新数组 代码实现 Array.prototype._filter = func
阅读全文
摘要:JS中map的实现 思路分析 map是所有数组都可以用的方法,因此我们可以将方法挂在到Array.prototype上去 之后所有的数组都可以访问到这个方法 map函数,接收一个函数当作参数,并且这个函数有返回值, 之后对数组中每个元素都执行这个函数,最后将所有的执行结果返回 代码实现 Array.
阅读全文
摘要:题目描述 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 思路解析 同样的可以之前的双指针法 参考代码 var moveZeroes = function(nums) { let end= rem
阅读全文
摘要:题目说明 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 解题思路 这道题与上一道题的
阅读全文
摘要:题目描述 给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。 由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么
阅读全文

浙公网安备 33010602011771号