
javaScript算法
javaScript算法
「已注销」
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【js】数组外层的参数复制到数组里
js原创 2022-08-03 22:45:43 · 646 阅读 · 0 评论 -
利用for in 数组转对象
for in获取到对象的键名,for获取到数组的下标 for of获取到对象的键值 数组 arr1=[{ title:“a”, id:“1” },{ title:“b”, id:“2” },{ title:“c”, id:“3” }] 使用arr1数组生成一个Object Object格式要求:{ "arr1[0]_title ": ‘a’, “arr1[0]_id” : ‘1’, “arr1[1]_title” : ‘b’, ` “arr1[1]_id”:‘2’ }(参数中每个键值均为String).原创 2022-05-25 17:30:59 · 402 阅读 · 0 评论 -
leetcode35. 搜索插入位置js
搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums = [1,3,5,6], target = 5 输出: 2 解决: var searchInsert = function(nums, target) { for(let i=0;i<nums.length;i++) { if(nums[i]>=targ.原创 2021-08-13 12:56:10 · 206 阅读 · 0 评论 -
leetcode27. 移除元素js
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 解决: var removeElement = function(nums, val) { for(let i=0;i<nums.length;i++) { if(nums[i] ==val) { nu原创 2021-08-12 22:47:33 · 91 阅读 · 0 评论 -
leetcode9. 回文数js
回文数 给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。 示例 1: 输入:x = 121 输出:true 示例 2: 输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。 解决: var isPalindrome = function (x) { // 思路:转为.原创 2021-08-11 13:47:55 · 144 阅读 · 0 评论 -
reduce的使用方式
Array.prototype.myMap= function(cb) { return this.reduce((pre, cur,index,arr) => pre.concat(cb(cur, index)), []) } let arr1 = [1, 3,4,5].myMap((item, index) => item + '+'+ index) console.log(arr1, 'arr1')...原创 2021-08-09 21:29:58 · 1006 阅读 · 0 评论 -
js实现对象扁平化(树状转为扁平化)
var arr = [{ "Id": "123", "Name": "温小鹿第一层", "children": [{ "Id": "456", "Name": "温小鹿第二层", "children": [{ "Id": "789", "Name": "温小鹿第三原创 2021-08-09 02:13:23 · 1262 阅读 · 0 评论 -
实现数组扁平化(七种方式)
数组扁平化就是把多维数组转为一维数组 比如 [1, [2,3,3],3,[1, [2,3,8]],8] 转为[1,2,3,3,3,1,2,3,8,8] 1.[].concat(…arr) var msg = [1, [2,3,3],3,[1, [2,3,8]],8] function flatten(arr) { while(arr.some(item => Array.isArray(item))) { arr =原创 2021-08-07 23:22:42 · 1199 阅读 · 0 评论 -
get-element-by-id转换为getElementById
解决: var arr = 'get-element-by-id' var str = arr.split('-') for( var i=1; i<str.length-1; i++) { str[i]= str[i].charAt(0).toUpperCase()+str[i].slice(1) } str = str.join("") console.log(str) // for循环的原创 2021-08-07 20:31:05 · 703 阅读 · 0 评论 -
leetcode 2、两数相加js
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 1: 输入:l1 = [2,4,3], l2 = [5,6,4] 输出:[7,0,8] 解释:342 + 465 = 807. /** * @param {ListNode} l1 * @param {ListNode} l2 * @return {Lis.转载 2021-07-21 21:58:03 · 102 阅读 · 0 评论 -
LeetCode初级算法入门js
数组 1. 删除排序数组中的重复项 已知是排序数组,只要判断前后两个值,如果一致,就删除。 /** * @param {number[]} nums * @return {number} */ var removeDuplicates = function(nums) { for(var i=0; i<nums.length-1; i++) { if(nums[i]==nums[i+1]) { nums.splice(i, 1);原创 2021-06-29 23:57:45 · 1097 阅读 · 3 评论