JS 【算法】二分查找
时间复杂度 O(logn) 使用场景 在有序数组中查找目标元素 const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9] const target = 2 console.log(binarySearch1(arr, targ...
前端 JS 经典:LRU 缓存算法
前言:什么是 LRU 呢,单词全拼 Least Recently Used,意思是最久未使用。这个算法是做缓存用的,比如,你要缓存一组数据,你要划分缓存块出来,因为不可能每个数据都做缓存,那么划出来的这个缓存块,就要遵守 LRU 缓存算法。比如你画出来了 4 个缓存块,你已经存了 4 个缓存数据,那么新的数据还要缓存进去,就需要删除之前的一个缓存,那么删除哪个呢,就是最久未使用的那个数据,算法实....
js【详解】arr.sort()数组排序(内含十大经典排序算法的js实现)
arr.sort()默认按照Unicode编码,从小到大进行排序,会改变原数组 let arr = ["e", "b", "d", "a", "f", "c", 1, 10, 2, 12]; let result = arr.sort() arr =[1,10,12,2,"a","...
三个js算法
① 冒泡排序 作为最简单的排序算法之一,冒泡排序给我的感觉就像Abandon在单词书里出现的感觉一样,每次都在第一页第一位,所以最熟悉。冒泡排序还有一种优化算法,就是立一个flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已经有序。但这种改进对于提升性能来说并没有什么太大作用。 JavaScript代码实现 ...
js的两个常用算法
判断str是否有数字 function strnum(str) { var a1 = new RegExp('[0-9]') var new_str = a1.test(str) return new_str } ...
Vue.js中的diff算法:让虚拟DOM更高效
摘要: 在Vue.js中,diff算法是虚拟DOM的核心组成部分,它负责比较新旧虚拟DOM的差异,并生成更新列表以高效地更新真实DOM。 本文将深入探讨Vue.js中diff算法的工作原理和实现机制,帮助读者更好地理解虚拟DOM的内部工作流程。 引言: ...
每天五到js算法题 day2
1.反转字符串:编写一个函数,将输入的字符串反转输出。下面是代码解析function reverseString(str) { return str.split('').reverse().join(''); } console.log(reverseString('Hello World')); // 输出:dlroW olleH可以使用split('')方法将字符串转换为字符数组,然后使...
JS算法-快乐数
题目编写一个算法来判断一个数 n 是不是快乐数。题解第一种函数 isHappy 接收一个正整数 n,首先将 n 赋值给变量 low,将 chgNumb(n) 的结果赋值给变量 fast。然后进入一个 while 循环,判断 fast 是否等于 1 或者 low 是否等于 fast 的平方和。如果不满足条件,则将 low 的值更新为 chgNumb(low),将 fast 的值更新为 chgNum....
JS算法-岛屿数量
题目给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。输入:grid = [ ["1","1","1","1","0"], ["1","1","0","1","0"], ["1","1","0","0","0"], ["0","0","0","0","0"] ] 输出:1 题解首先,定义了一个 numIslands 函数,它接收一个二维矩阵作为...
JS算法-二叉树的右视图
题目给定一个二叉树的 根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 题解第一种首先判断根节点是否为 null,如果是,则直接返回空数组,接下来我们定义两个数组 arr 和 ans,其中 arr 用于存放当前层的节点,ans 用于存放右视图节点的值,然后将根节....
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
智能引擎技术
AI Online Serving,阿里巴巴集团搜推广算法与工程技术的大本营,大数据深度学习时代的创新主场。
+关注