算法:给定一个数组,编写一个函数,把所有0移到末尾,同时保证非0值的相对位置
给定一个数组,编写一个函数,把所有0移到末尾,同时保证非0值的相对位置 必须在原数组上操作,不能用额外的数组 输入:[0,1,0,3,12] 输出:[1,3,12,0,0] js版本 let arr = [0, 1, 0, 3, 12] ......
这家伙很懒,还没填写该栏目的介绍呢~
给定一个数组,编写一个函数,把所有0移到末尾,同时保证非0值的相对位置 必须在原数组上操作,不能用额外的数组 输入:[0,1,0,3,12] 输出:[1,3,12,0,0] js版本 let arr = [0, 1, 0, 3, 12] ......
1450. 在既定时间做作业的学生人数 给你两个整数数组 startTime(开始时间)和 endTime(结束时间),并指定一个整数 queryTime 作为查询时间。 已知,第 i 名学生在 startTime[i] 时开始写作业并于 endTime[i] 时完成作业。 请返回在查询时间 queryTime 时正在做作业的学生人数。形式上,返......
题目:给定一个包含 n + 1 个整数的数组 nums ,其数字都在 [1, n] 范围内(包括 1 和 n),可知至少存在一个重复的整数。 假设 nums 只有 一个重复的整数 ,返回 这个重复的数 。 你设计的解决方案必须 不修改 数组 nums 且只用常量级 O(1) 的额外空间 解题思路:使用对象的key特性,key不能重复......
两数之和,力扣 第一题 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 数组nums: nums = [2,7,11,15] target 值是 : target = 9 解题思路:利用obj特性, 总合 = 目标值......
js翻转数组 reverse()方法翻转 反向添加数组 数组首尾交换 unshift()向数组头部添加 考点:在 数组首尾交换,reverse()方法肯定不......
数组排序总结了5种 冒泡排序:相邻的元素比对,双重循环 选择排序:每次循环找出一个最小值,双重循环 插入排序:设定j左边已经排序好了,右边是未排序的,“每次都排序一下j的左边” sort排序: js提供的函数,没啥说的 【a-b升序/b-a 倒叙】 快速排序:递归,将每个......
数组去重 无非基于以下几种特性 双重循环(sort()排序,splice) 【都是利用循环遍历实现】 includes方法 或 indexOf方法 【利用包含和不包含条件】 obj特性,set,map 都是obj的变种 ......
数组扁平化的几种方式(总结出就三种方式) 递归 es6的flat函数 字符串 var arr = [1,2,[3,4,5,[6,7,8],9],10,[11,12]]; 1. 递归模式(递归里面需要用到concat链接数组,而不是push添加元素【使用push无法平铺】) ......
tree转数组,两种方式 1. 递归 2. 循环(注意,循环不能使用迭代器方法,只能使用for循环) js版本 初始化数据 /** * 数组 */ let arr = [{name: "李四", id: 2, pid: 0},// [] {name: "王五", id: 3, pid: 0}, // [] {name: "赵六", ......
数组转 tree目前发现就三种方式,js版本实现了三种,go实现了两种 1. 递归模式 2. 双重循环 3. map特性模式(这种模式我在go种实验了几次都没成功,有大佬成功告知一下) js版本 定义数组 let arr = [{name: "李四", id: 2, pid: 0},// [] ......