文章 2024-01-18 来自:开发者社区

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 函数,它接收一个二维矩阵作为...

文章 2024-01-18 来自:开发者社区

JS算法-二叉树的右视图

题目给定一个二叉树的 根节点root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 题解第一种首先判断根节点是否为 null,如果是,则直接返回空数组,接下来我们定义两个数组 arr 和 ans,其中 arr 用于存放当前层的节点,ans 用于存放右视图节点的值,然后将根节....

文章 2024-01-18 来自:开发者社区

JS算法-打家劫舍

题目给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。输入:[1,2,3,1] 输出:4 解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。   偷窃到的最高金额 = 1 + 3 = 4 。 题解首先,我们先使用len常量记录下当前nums参数的长度,然后再判断当前len常量的值是否,0,...

文章 2024-01-18 来自:开发者社区

JS算法-颠倒二进制位

题目颠倒给定的 32 位无符号整数的二进制位。输入:n = 11111111111111111111111111111101 输出:3221225471 (10111111111111111111111111111111) 题解第一种首先我们在函数中先定义了一个空数组reverseBinary变量和变量number和t,number和t分别用于记录翻转后的十进制数和二进制位的权值。然后使用whi....

文章 2024-01-18 来自:开发者社区

JS算法-轮转数组

题目给定一个整数数组 nums,将数组中的元素向右轮转 k **个位置,其中 k **是非负数。输入:nums = [-1,-100,3,99], k = 2 输出:[3,99,-1,-100] 解释: 向右轮转 1 步: [99,-1,-100,3] 向右轮转 2 步: [3,99,-1,-100] 题解第一种首先将数组nums反转,即原来的最后一个元素变成了第一个元素,原来的第一个元素变成.....

文章 2024-01-18 来自:开发者社区

JS算法-最大数

题目给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。输入: nums = [10,2] 输出: "210" 题解第一种我们先声明一个largestNumber函数,在函数接受一个参数 a,这个参数是一个数组,如果没有传入参数,默认为一个空数组。 然后在函数中我们将数组 a 中的每个元素都转换成字符串,这是因为后面排序时需要将元素转换为字符串类型。我们这里....

文章 2024-01-18 来自:开发者社区

JS算法-阶乘后的零

题目给定一个整数 n ,返回 n! 结果中尾随零的数量。输入: n = 3 输出: 0 解释: 3! = 6 ,不含尾随 0 题解第一种我们用一个数组dp来记录每个数字的阶乘末尾零的个数。dp[i]表示i的阶乘末尾零的个数。我们从1开始遍历到n,对于每个i,我们计算出i中5的个数,然后用dp[i-1]加上这个数,就得到了dp[i]。最后返回dp[n]即可,在这里我们需要注意的是,计算5的个数时,....

文章 2024-01-18 来自:开发者社区

JS算法-多数元素

题目给定一个大小为 n **的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于⌊ n/2 ⌋ 的元素。输入: nums = [2,2,1,1,1,2,2] 输出: 2 题解第一种我们首先通过右移操作将数组长度除以2,得到变量count,表示出现次数超过一半的元素需要出现的次数,如果数组长度为1,直接返回数组中的唯一元素即可,接下来进行遍历数组中的所有元素,对于遍历到的每个....

文章 2024-01-18 来自:开发者社区

JS算法-输入有序数组

题目给你一个下标从 1 开始的整数数组 numbers ,该数组已按 ****非递减顺序排列 ** ,请你从数组中找出满足相加之和等于目标数 target 的两个数。输入:numbers = [2,7,11,15], target = 9 输出:[1,2] 解释:2 与 7 之和等于目标数 9 。因此 index1 = 1, index2 = 2 。返回 [1, 2] 。 题解这里采用二分查找的....

文章 2024-01-18 来自:开发者社区

JS算法-寻找峰值

题目给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。输入: nums = [1,2,3,1] 输出: 2 解释: 3 是峰值元素,你的函数应该返回其索引 2。 题解第一种首先定义了一个常量minv,它表示负无穷,用来表示数组边界情况。然后获取了数组的长度n和左右指针l和r的初始值,l为0,r为n-1,然后进入while循....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

智能搜索推荐

智能推荐(Artificial Intelligence Recommendation,简称AIRec)基于阿里巴巴大数据和人工智能技术,以及在电商、内容、直播、社交等领域的业务沉淀,为企业开发者提供场景化推荐服务、全链路推荐系统开发平台、工程引擎组件库等多种形式服务,助力在线业务增长。

+关注