LeetCode for JavaScript
用 JavaScript 爆刷 LeetCode!
Baciii°
努力是为了躺平
展开
-
JavaScript 每日一题---LeetCode 977. 有序数组的平方
题目描述:给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。解题思路:给定的数组为整数数组,也就是说会存在负数。最简单的方法就是先将每个数的平方 push 到一个新数组中,再 sort 一下。另一个思路是,既然是非递减排序,那么边界的数的平方一定大于中间的数(不一定是哪边)。所以我们可以首尾双指针遍历数组,比较哪个数的平方较大,最后将较大的数的平方 unshift 到一个新数组中即可。完整代码:/**...原创 2022-04-10 23:11:15 · 1005 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 188. 买卖股票的最佳时机 IV
每天更一篇--Day20原创 2022-04-08 22:21:21 · 242 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 123. 买卖股票的最佳时机 III
每天更一篇--Day19原创 2022-04-07 22:28:58 · 1243 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 122. 买卖股票的最佳时机 II
每天更一篇--Day18原创 2022-04-06 23:05:22 · 850 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 121. 买卖股票的最佳时机
每天更一篇--Day17原创 2022-04-05 22:01:48 · 1421 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 744. 寻找比目标字母大的最小字母
每天更一篇--Day15原创 2022-04-03 23:41:15 · 74 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 6. Z 字形变换
每天更一篇--Day16原创 2022-04-04 23:26:59 · 108 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 5. 最长回文子串
每天更一篇--Day14原创 2022-04-02 22:11:12 · 896 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 954. 二倍数对数组
每天更一篇--Day13原创 2022-04-01 23:06:35 · 717 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 76. 最小覆盖子串
每天更一篇--Day12原创 2022-03-31 21:44:14 · 1216 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 2024. 考试的最大困扰度
题目描述:一位老师正在出一场由 n 道判断题构成的考试,每道题的答案为 true (用 'T' 表示)或者 false (用 'F' 表示)。老师想增加学生对自己做出答案的不确定性,方法是 最大化 有 连续相同 结果的题数。(也就是连续出现 true 或者连续出现 false)。给你一个字符串 answerKey ,其中 answerKey[i] 是第 i 个问题的正确结果。除此以外,还给你一个整数 k ,表示你能进行以下操作的最多次数:每次操作中,将问题的正确答案改为'T' 或者'F'(...原创 2022-03-29 13:36:56 · 485 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 4. 寻找两个正序数组的中位数
题目描述:给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。算法的时间复杂度应该为 O(log (m+n)) 。思路简单但细节满满的一个题 主要思路是双指针,移动次数为两数组长度和的一半Math.ceil((n1 + n2) / 2)。唯一需要注意的就是边界条件,数组越界的问题。var findMedianSortedArrays = function(nums1, nums2) { l...原创 2022-03-27 22:13:32 · 880 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 693. 交替位二进制数
题目描述:给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。解题思路:1.对给到的数循环取余,若当前取余结果等于上次取余的结果,则说明相邻数字相同,则返回 false。循环结束返回 true。 2.利用位运算的异或运算。完整代码:/** * @param {number} n * @return {boolean} */var hasAlternatingBits = functio...原创 2022-03-28 09:46:23 · 297 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 2028. 找出缺失的观测数据
题目描述:现有一份 n + m 次投掷单个 六面 骰子的观测数据,骰子的每个面从 1 到 6 编号。观测数据中缺失了 n 份,你手上只拿到剩余 m 次投掷的数据。幸好你有之前计算过的这 n + m 次投掷数据的 平均值 。给你一个长度为 m 的整数数组 rolls ,其中 rolls[i] 是第 i 次观测的值。同时给你两个整数 mean 和 n 。返回一个长度为 n 的数组,包含所有缺失的观测数据,且满足这 n + m 次投掷的 平均值 是 mean 。如果存在多组符合要求的答案,只需要返回其原创 2022-03-27 12:13:44 · 115 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 141. 环形链表
给你一个链表的头节点 head ,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递 。仅仅是为了标识链表的实际情况。如果链表中存在环 ,则返回 true 。 否则,返回 false 。神奇解法:JSON.stringify() 函数可以自动判断参数是否成环,若成环则报错,所以可以利用 t...原创 2022-03-27 11:38:43 · 799 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 19. 删除链表的倒数第 N 个结点
题目描述:给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。解题思路:主要利用双指针,让右指针先走 n 步,再让两指针一起走直到右指针走到链表尽头为止。此时让左指针删除一个节点即可。注意需要判断一开始右指针就走到链表尽头的情况,如 [1],1,右指针一开始就会到链表尽头的下一个结点(null),此时返回的是头结点的 next 结点(因为头节点便是要删除的结点)。完整代码:/** * Definition for singly-linked list....原创 2022-03-26 13:38:00 · 646 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 3. 无重复字符的最长子串
题目描述:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。解题思路:利用双指针划分一个区间为当前最长字串,右指针不断向右移动,每遇到一个字符就通过 Map 记录该字符及其最后一次出现的索引值。若判断 右指针遇到了出现过的字符 且 该字符上一次出现的位置大于等于左指针 ,则左指针移到该字符上一次出现的位置的下一个位置。判断的依据:通俗说法就是左右指针这个区间就是当前(遍历字符串时)时刻的字串,即右指针固定某个地方时的最...原创 2022-03-24 14:55:09 · 1135 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 11. 盛最多水的容器
题目描述:给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。解题思路:本质上就是一个算面积的问题,取两条线中较短的一条与两条线的间隔相乘即为当前围成的面积。所以很容易就想到双指针的做法,即左指针最开始在最左端,右指针最开始在最右端,逐步向中间逼近。每次移动的是指向...原创 2022-03-25 11:11:02 · 270 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 1.两数之和
两数之和,梦开始的地方原创 2022-03-22 23:50:50 · 75 阅读 · 0 评论 -
JavaScript 每日一题---LeetCode 2.两数相加
给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。解题思路: * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : n原创 2022-03-23 11:51:19 · 743 阅读 · 0 评论