![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js每日一题
每天都会做一道算法题,用js实现
前端小白在前进
一名学习前端的大学生,阿里云社区专家博主,全栈领域优质创作者,22年度博客之星前端TOP7,致力于提高前端开发能力,现在是研0
展开
-
js力扣每日一题(2022/4/28)---905.按奇偶排序数组
leetcode---905.按奇偶排序数组给你一个整数数组 nums,将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素。返回满足此条件的 任一数组 作为答案。示例一:输入:nums = [3,1,2,4]输出:[2,4,3,1]解释:[4,2,3,1]、[2,4,1,3] 和 [4,2,1,3] 也会被视作正确答案。示例二:输入:nums = [0]输出:[0]/** * @param {number[]} nums * @return {number[]原创 2022-04-28 18:00:01 · 535 阅读 · 0 评论 -
js力扣每日一题(2022/4/27)---883.三维形体投影面积
leetcode---883.三维形体投影面积在 n x n 的网格 grid 中,我们放置了一些与 x,y,z 三轴对齐的 1 x 1 x 1 立方体。每个值 v = grid[i][j] 表示 v 个正方体叠放在单元格 (i, j) 上。现在,我们查看这些立方体在 xy 、yz 和 zx 平面上的投影。投影 就像影子,将 三维 形体映射到一个 二维 平面上。从顶部、前面和侧面看立方体时,我们会看到“影子”。返回 所有三个投影的总面积 。示例一:输入:[[1,2],[3,4]]输出:1原创 2022-04-27 20:07:05 · 449 阅读 · 4 评论 -
js力扣每日一题(2022/4/25)---398.随机数索引
leetcode---398.随机数索引给定一个可能含有重复元素的整数数组,要求随机输出给定的数字的索引。 您可以假设给定的数字一定存在于数组中。注意:数组大小可能非常大。 使用太多额外空间的解决方案将不会通过测试。示例:int[] nums = new int[] {1,2,3,3,3};Solution solution = new Solution(nums);// pick(3) 应该返回索引 2,3 或者 4。每个索引的返回概率应该相等。solution.pick(3);//原创 2022-04-25 13:12:23 · 224 阅读 · 2 评论 -
js力扣每日一题(2022/4/24)---868.二进制间距
leetcode---868.二进制间距给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离 。如果不存在两个相邻的 1,返回 0 。如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1 之间的距离是它们的二进制表示中位置的绝对差。例如,“1001” 中的两个 1 的距离为 3 。示例一:输入:n = 22输出:2解释:22 的二进制是 “10110” 。在 22 的二进制表示中,有三个 1,组成两对相邻的 1 。第一原创 2022-04-24 16:50:36 · 270 阅读 · 0 评论 -
js力扣每日一题(2022/4/22)---396.旋转函数
leetcode---396.旋转函数给定一个长度为 n 的整数数组 nums 。假设 arrk 是数组 nums 顺时针旋转 k 个位置后的数组,我们定义 nums 的 旋转函数 F 为:F(k) = 0 * arrk[0] + 1 * arrk[1] + … + (n - 1) * arrk[n - 1]返回 F(0), F(1), …, F(n-1)中的最大值 。生成的测试用例让答案符合 32 位 整数。示例一:输入: nums = [4,3,2,6]输出: 26解释:F(0)原创 2022-04-22 21:37:12 · 413 阅读 · 1 评论 -
js力扣每日一题(2022/4/21)---824.山羊拉丁文
leetcode---824.山羊拉丁文给你一个由若干单词组成的句子 sentence ,单词间由空格分隔。每个单词仅由大写和小写英文字母组成。请你将句子转换为 “山羊拉丁文(Goat Latin)”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。山羊拉丁文的规则如下:如果单词以元音开头(‘a’, ‘e’, ‘i’, ‘o’, ‘u’),在单词后添加"ma"。例如,单词 “apple” 变为 “applema” 。如果单词以辅音字母开头(即,非元音字母),移除第一个字符并将它放到末原创 2022-04-21 20:27:48 · 163 阅读 · 1 评论 -
js力扣每日一题(2022/4/20)---388.文件的最长绝对路径
文件的最长绝对路径假设有一个同时存储文件和目录的文件系统。下图展示了文件系统的一个示例:这里将 dir 作为根目录中的唯一目录。dir 包含两个子目录 subdir1 和 subdir2 。subdir1 包含文件 file1.ext 和子目录 subsubdir1;subdir2 包含子目录 subsubdir2,该子目录下包含文件 file2.ext 。在文本格式中,如下所示(⟶表示制表符):dir⟶ subdir1⟶ ⟶ file1.ext⟶ ⟶ subsubdir1⟶ subdi原创 2022-04-20 13:30:15 · 206 阅读 · 0 评论 -
js力扣每日一题(2022/4/19)---821.字符的最短距离
字符的最短距离给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符。返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。两个下标 i 和 j 之间的 距离 为 abs(i - j) ,其中 abs 是绝对值函数。示例一:输入:s = “loveleetcode”, c = “e”输出:[3,2,1,0,1,0,0,1,2,2,1,0]解释:字符 ‘e’原创 2022-04-19 18:04:14 · 311 阅读 · 1 评论 -
js力扣每日一题(2022/4/18)
字典序排数给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。示例一:输入:n = 13输出:[1,10,11,12,13,2,3,4,5,6,7,8,9]示例二:输入:n = 2输出:[1,2]/** * @param {number} n * @return {number[]} */var lexicalOrder = function(n) { let arr = []原创 2022-04-18 17:10:57 · 505 阅读 · 0 评论 -
js力扣每日一题(2022/4/17)
最常见的单词给定一个段落 (paragraph) 和一个禁用单词列表 (banned)。返回出现次数最多,同时不在禁用列表中的单词。题目保证至少有一个词不在禁用列表中,而且答案唯一。禁用列表中的单词用小写字母表示,不含标点符号。段落中的单词不区分大小写。答案都是小写字母。示例:输入:paragraph = “Bob hit a ball, the hit BALL flew far after it was hit.”banned = [“hit”]输出: “ball”解释:“hit”原创 2022-04-17 18:29:14 · 187 阅读 · 0 评论 -
js力扣每日一题(2022/4/16)
最大回文数乘积给定一个整数 n ,返回 可表示为两个 n 位整数乘积的 最大回文整数 。因为答案可能非常大,所以返回它对 1337 取余 。实例一:输入:n = 2输出:987解释:99 x 91 = 9009, 9009 % 1337 = 987示例二:输入: n = 1输出: 9/** * @param {number} n * @return {number} */var largestPalindrome = function(n) { if(n==1){原创 2022-04-16 21:00:09 · 290 阅读 · 0 评论 -
js力扣每日一题(2022/4/15)
迷你语法分析器给定一个字符串 s 表示一个整数嵌套列表,实现一个解析它的语法分析器并返回解析的结果 NestedInteger 。列表中的每个元素只可能是整数或整数嵌套列表示例一:输入:s = “324”,输出:324解释:你应该返回一个 NestedInteger 对象,其中只包含整数值 324。示例二:输入:s = “[123,[456,[789]]]”,输出:[123,[456,[789]]]解释:返回一个 NestedInteger 对象包含一个有两个元素的嵌套列表:一原创 2022-04-15 13:53:52 · 301 阅读 · 1 评论 -
js力扣每日一题(2022/4/14)
最富有客户的资产总量给你一个 m x n 的整数网格 accounts ,其中 accounts[i][j] 是第 i 位客户在第 j 家银行托管的资产数量。返回最富有客户所拥有的 资产总量 。客户的 资产总量 就是他们在各家银行托管的资产数量之和。最富有客户就是 资产总量 最大的客户。示例一:输入:accounts = [[1,2,3],[3,2,1]]输出:6解释:第 1 位客户的资产总量 = 1 + 2 + 3 = 6第 2 位客户的资产总量 = 3 + 2原创 2022-04-14 13:38:27 · 179 阅读 · 0 评论 -
js力扣每日一题(2022/4/13)
回文数给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。实例一:输入:x = 121输出:true实例二:输入:x = -121输出:false解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。实例三:输入:x = 10输出:false解释:从右向左读, 为 01 。因此它不是一个回文数原创 2022-04-13 13:41:09 · 203 阅读 · 0 评论 -
js力扣每日一题(2022/4/12)
寻找两个正序数组的中位数给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2/** * @param {number[]} nums1 * @param {number[]} nums2 * @return {number} */va原创 2022-04-12 21:09:22 · 571 阅读 · 0 评论 -
js力扣每日一题(2022/4/11)
两数之和给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。/** * @param {number[]} nums * @原创 2022-04-11 13:34:35 · 273 阅读 · 1 评论