
LeetCode
刷题日记
前端小端长
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【LeetCode】-83 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表
【代码】【LeetCode】-83 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次。返回 已排序的链表。原创 2023-06-14 17:42:16 · 222 阅读 · 0 评论 -
leetCode——204.计数质数(javascript)
题目描述:统计所有小于非负整数 n 的质数的数量。解法:const countPrimes = function (n) { if (n === 1 || n === 2) { return 0; } let count = 0; for (let m = 2; m < n; m++) { let flag = true;...原创 2020-03-16 09:58:51 · 283 阅读 · 0 评论 -
LeetCode——784. 字母大小写全排列(JS)
题目描述:给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。示例:输入: S = “a1b2”输出: [“a1b2”, “a1B2”, “A1b2”, “A1B2”]输入: S = “3z4”输出: [“3z4”, “3Z4”]输入: S = “12345”输出: [“12345”]注意:S 的长度不超过12。S...原创 2019-11-04 19:49:27 · 977 阅读 · 0 评论 -
1184.公交站间的距离(JS)——LeetCode
题目描述:环形公交路线上有 n 个站,按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离,distance[i] 表示编号为 i 的车站和编号为 (i + 1) % n 的车站之间的距离。环线上的公交车都可以按顺时针和逆时针的方向行驶。返回乘客从出发点 start 到目的地 destination 之间的最短距离。示例 1:输入:distance = [1,2,3...原创 2019-09-25 19:19:58 · 595 阅读 · 0 评论 -
682.棒球比赛(JS对栈的操作)——leetCode
题目描述:你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2. “+”(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。3. “D”(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。4. “C”(一个操作,这不是一个回合的分数):表示您获得的最后一个有效 回合的分数是无效的...原创 2019-09-25 15:07:23 · 471 阅读 · 0 评论 -
1189.“气球”的最大数量(JS)——leetcode
题目描述:给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”(气球)。字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 “balloon”。示例 1:输入:text = “nlaebolko”输出:1示例 2:输入:text = “loonbalxballpoon”输出:2示例 3:输入:text ...原创 2019-09-20 19:04:13 · 707 阅读 · 0 评论 -
884.两句话中的不常见单词.(JS)——leetCode
题目描述:给定两个句子 A 和 B 。 (句子是一串由空格分隔的单词。每个单词仅由小写字母组成。)如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的。返回所有不常用单词的列表。您可以按任何顺序返回列表。示例 1:输入:A = “this apple is sweet”, B = “this apple is sour”输出:[“sweet”,“...原创 2019-09-16 09:08:50 · 483 阅读 · 0 评论 -
704.二分查找(JS)——leetCode
题目描述:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12]...原创 2019-09-15 20:30:16 · 697 阅读 · 0 评论 -
598.范围求和II.(JS)——leetCode
题目描述:给定一个初始元素全部为 0,大小为 m*n 的矩阵 M 以及在 M 上的一系列更新操作。操作用二维数组表示,其中的每个操作用一个含有两个正整数 a 和 b 的数组表示,含义是将所有符合 0 <= i < a 以及 0 <= j < b 的元素 M[i][j] 的值都增加 1。在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。示例 1:输入...原创 2019-09-15 17:34:40 · 423 阅读 · 0 评论 -
581.最短无序连续子数组(JS思路简单)——LeetCode
题目描述:给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 1:输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。来源:力扣(LeetCode)链接:https://le...原创 2019-09-15 16:27:35 · 695 阅读 · 0 评论 -
557.反转字符串中的单词III(JS)——leetCode
题目描述:给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。示例 1:输入: “Let’s take LeetCode contest”输出: “s’teL ekat edoCteeL tsetnoc”注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。来源:力扣(LeetCode)链接:https://leetcode-c...原创 2019-09-15 15:27:48 · 529 阅读 · 0 评论 -
496.下一个更大元素I(JS)——leetCode
题目描述:给定两个没有重复元素的数组 nums1 和 nums2 ,其中nums1 是 nums2 的子集。找到 nums1 中每个元素在 nums2 中的下一个比其大的值。nums1 中数字 x 的下一个更大元素是指 x 在 nums2 中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。示例 1:输入: nums1 = [4,1,2], nums2 = [1,3,...原创 2019-09-15 00:28:13 · 378 阅读 · 0 评论 -
1176.健身计划评估(JS,窗口滑动算法)——leetCode
题目描述:你的好友是一位健身爱好者。前段日子,他给自己制定了一份健身计划。现在想请你帮他评估一下这份计划是否合理。他会有一份计划消耗的卡路里表,其中 calories[i] 给出了你的这位好友在第 i 天需要消耗的卡路里总量。为了更好地评估这份计划,对于卡路里表中的每一天,你都需要计算他 「这一天以及之后的连续几天」 (共 k 天)内消耗的总卡路里 T:如果 T < lower,那么...原创 2019-09-25 20:34:51 · 717 阅读 · 0 评论 -
1046.最后一块石头的重量(JS)——leetCode
题目描述:有一堆石头,每块石头的重量都是正整数。每一回合,从中选出两块最重的石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x <= y。那么粉碎的可能结果如下:如果 x == y,那么两块石头都会被完全粉碎;如果 x != y,那么重量为 x 的石头将会完全粉碎,而重量为 y 的石头新重量为 y-x。最后,最多只会剩下一块石头。返回此石头的重量。如果没有石头剩下,...原创 2019-09-25 22:09:35 · 468 阅读 · 0 评论 -
5213.玩筹码(JS)——leetCode
题目描述:数轴上放置了一些筹码,每个筹码的位置存在数组 chips 当中。你可以对 任何筹码 执行下面两种操作之一(不限操作次数,0 次也可以):将第 i 个筹码向左或者右移动 2 个单位,代价为 0。将第 i 个筹码向左或者右移动 1 个单位,代价为 1。最开始的时候,同一位置上也可能放着两个或者更多的筹码。返回将所有筹码移动到同一位置(任意位置)上所需要的最小代价。示例 1:输...原创 2019-10-06 23:04:05 · 524 阅读 · 0 评论 -
5079. 三个有序数组的交集(JS)——leetCode
题目描述:给出三个均为 严格递增排列 的整数数组 arr1,arr2 和 arr3。返回一个由 仅 在这三个数组中 同时出现 的整数所构成的有序数组。示例:输入: arr1 = [1,2,3,4,5], arr2 = [1,2,5,7,9], arr3 = [1,3,4,5,8]输出: [1,5]解释: 只有 1 和 5 同时在这三个数组中出现.提示:1 <= arr1.le...原创 2019-10-06 22:24:09 · 946 阅读 · 0 评论 -
1160.拼写单词(JS)——leetCode
题目描述:给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,chars 中的每个字母都只能用一次。返回词汇表 words 中你掌握的所有单词的 长度之和。示例 1:输入:words = [“cat”,“bt”...原创 2019-10-06 15:02:35 · 578 阅读 · 1 评论 -
5205.独一无二的出现次数.——leetCode
题目描述:给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。示例 1:输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。示例 2:输入:arr = [1,2]输出:false示例...原创 2019-09-29 17:44:10 · 602 阅读 · 0 评论 -
1122.数组的相对排序(JS)——leetCode
题目描述:给你两个数组,arr1 和 arr2,arr2 中的元素各不相同arr2 中的每个元素都出现在 arr1 中对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。示例:输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9...原创 2019-09-29 17:01:52 · 538 阅读 · 0 评论 -
941. 有效的山脉数组(JS)——leetCode
题目描述:给定一个整数数组 A,如果它是有效的山脉数组就返回 true,否则返回 false。让我们回顾一下,如果 A 满足下述条件,那么它是一个山脉数组:A.length >= 3在 0 < i < A.length - 1 条件下,存在 i 使得:A[0] < A[1] < … A[i-1] < A[i]A[i] > A[i+1] >...原创 2019-09-29 15:06:27 · 459 阅读 · 0 评论 -
1169.查询无效交易(JS)——leetCode
题目描述:如果出现下述两种情况,交易 可能无效:交易金额超过 ¥1000或者,它和另一个城市中同名的另一笔交易相隔不超过 60 分钟(包含 60 分钟整)每个交易字符串 transactions[i] 由一些用逗号分隔的值组成,这些值分别表示交易的名称,时间(以分钟计),金额以及城市。给你一份交易清单 transactions,返回可能无效的交易列表。你可以按任何顺序返回答案。示例 1...原创 2019-09-26 14:20:29 · 575 阅读 · 0 评论 -
1170. 比较字符串最小字母出现频次(JS)——leetCode
题目描述:我们来定义一个函数 f(s),其中传入参数 s 是一个非空字符串;该函数的功能是统计 s 中(按字典序比较)最小字母的出现频次。例如,若 s = “dcce”,那么 f(s) = 2,因为最小的字母是 “c”,它出现了 2 次。现在,给你两个字符串数组待查表 queries 和词汇表 words,请你返回一个整数数组 answer 作为答案,其中每个 answer[i] 是满足 ...原创 2019-09-26 10:54:27 · 512 阅读 · 0 评论 -
1175.质数排列(JS)——leetCode
题目描述:请你帮忙给从 1 到 n 的数设计排列方案,使得所有的「质数」都应该被放在「质数索引」(索引从 1 开始)上;你需要返回可能的方案总数。让我们一起来回顾一下「质数」:质数一定是大于 1 的,并且不能用两个小于它的正整数的乘积来表示。由于答案可能会很大,所以请你返回答案 模 mod 10^9 + 7 之后的结果即可。示例 1:输入:n = 5输出:12解释:举个例子,[1,2...原创 2019-09-26 10:00:25 · 527 阅读 · 0 评论 -
506.相对名次(JS)——leetCode
题目描述:给出 N 名运动员的成绩,找出他们的相对名次并授予前三名对应的奖牌。前三名运动员将会被分别授予 “金牌”,“银牌” 和“ 铜牌”(“Gold Medal”, “Silver Medal”, “Bronze Medal”)。(注:分数越高的选手,排名越靠前。)示例 1:输入: [5, 4, 3, 2, 1]输出: [“Gold Medal”, “Silver Medal”, “B...原创 2019-09-14 22:59:00 · 429 阅读 · 0 评论 -
392.判断子序列(JS)——leetCode
题目描述:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <=100)。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。示例 1:...原创 2019-09-14 14:19:35 · 862 阅读 · 1 评论 -
290.单词规律(JS)——LeetCode
题目描述:给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律。这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应规律。示例1:输入: pattern = “abba”, str = “dog cat cat dog”输出: true示例 2:输入:pattern = “ab...原创 2019-09-14 00:16:00 · 552 阅读 · 0 评论 -
LeetCode—— 3. 无重复字符的最长子串.(JS)
题目描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长...原创 2019-08-23 15:16:21 · 1828 阅读 · 0 评论 -
LeetCode——189. 旋转数组
题目描述:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。示例 1:输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]解释:向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]示例 2:输入: [-1,-100,3,9...原创 2019-08-25 15:21:20 · 381 阅读 · 0 评论 -
LeetCode——121. 买卖股票的最佳时机
题目描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注...原创 2019-08-25 14:37:28 · 367 阅读 · 0 评论 -
LeetCode——1128. 等价多米诺骨牌对的数量(js)
题目描述:给你一个由一些多米诺骨牌组成的列表 dominoes。如果其中某一张多米诺骨牌可以通过旋转 0 度或 180 度得到另一张多米诺骨牌,我们就认为这两张牌是等价的。形式上,dominoes[i] = [a, b] 和 dominoes[j] = [c, d] 等价的前提是 a= =c 且 b= =d,或是 a= =d 且 b==c。在 0 <= i < j < d...原创 2019-08-20 21:49:34 · 602 阅读 · 0 评论 -
JS递归之裴波那契数列问题(兔子问题,面试)
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21…解析:定义一个函数,完成计算每个月兔子总数的功能。function month(a){ if(a===1||a===2){ return 1; }else{ ...原创 2019-08-15 15:25:17 · 1496 阅读 · 0 评论 -
leetCode——485. 最大连续1的个数
题目描述:给定一个二进制数组, 计算其中最大连续1的个数。示例 1:输入: [1,1,0,1,1,1]输出: 3解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3.注意:输入的数组只包含 0 和1。输入数组的长度是正整数,且不超过 10,000。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/max...原创 2019-08-20 17:05:33 · 486 阅读 · 0 评论 -
LeetCode——520.检测大写字母
题目描述:给定一个单词,你需要判断单词的大写使用是否正确。我们定义,在以下情况时,单词的大写用法是正确的:全部字母都是大写,比如"USA"。单词中所有字母都不是大写,比如"leetcode"。如果单词不只含有一个字母,只有首字母大写, 比如 “Google”。否则,我们定义这个单词没有正确使用大写字母。示例 1:输入: “USA”输出: True示例 2:输入: “FlaG”...原创 2019-08-20 16:36:50 · 550 阅读 · 0 评论 -
LeetCode——237. 删除链表中的节点JS
请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。示例 1:输入: head = [4,5,1,9], node = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9.示例 2:输入: head = [4,5,1,9], node = 1输出: [4,...原创 2019-08-24 11:12:20 · 438 阅读 · 0 评论 -
LeetCode——19. 删除链表的倒数第N个节点
题目描述:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/rem...原创 2019-08-24 10:33:58 · 390 阅读 · 0 评论 -
LeetCode——999.车的可用捕获量js
题目描述:在一个 8 x 8 的棋盘上,有一个白色车(rook)。也可能有空方块,白色的象(bishop)和黑色的卒(pawn)。它们分别以字符 “R”,“.”,“B” 和 “p” 给出。大写字符表示白棋,小写字符表示黑棋。车按国际象棋中的规则移动:它选择四个基本方向中的一个(北,东,西和南),然后朝那个方向移动,直到它选择停止、到达棋盘的边缘或移动到同一方格来捕获该方格上颜色相反的卒。另外,...原创 2019-08-20 11:48:50 · 454 阅读 · 0 评论 -
LeetCode——1.两数之和(数组)js
题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣...原创 2019-08-23 14:07:24 · 397 阅读 · 0 评论 -
LeetCode——2.两数相加(js)
题目描述:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0...原创 2019-08-23 11:55:40 · 574 阅读 · 0 评论 -
278.第一个错误的版本(二分查找JS)——leetCode.
题目描述:你是产品经理,目前正在带领一个团队开发新的产品。不幸的是,你的产品的最新版本没有通过质量检测。由于每个版本都是基于之前的版本开发的,所以错误的版本之后的所有版本都是错的。假设你有 n 个版本 [1, 2, …, n],你想找出导致之后所有版本出错的第一个错误的版本。你可以通过调用 bool isBadVersion(version) 接口来判断版本号 version 是否在单元测试...原创 2019-09-13 22:54:43 · 498 阅读 · 0 评论 -
202.快乐数 JS ——LeetCode
题目描述:编写一个算法来判断一个数是不是“快乐数”。一个“快乐数”定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是无限循环但始终变不到 1。如果可以变为 1,那么这个数就是快乐数。示例:输入: 19输出: true解释:12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + ...原创 2019-09-07 14:55:34 · 488 阅读 · 0 评论