
Leetcode
eswang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LeetCode剑指Offer(3)
前言再写三篇左右的样子。打印从1到最大n位数这个其实也是考察写幂运算的,js的**已经是log2 n了,大家想写自己写也一样。var printNumbers = function(n) { let max = 10**n, res = [] for(let i = 1;i<max;i++){ res.push(i) } return ...原创 2020-02-21 17:16:32 · 204 阅读 · 0 评论 -
LeetCode 剑值Offer(2)
前言估计还得写10个。。。用两个栈实现队列有个点,这个题要求弹出空的话为-1,所以我们做个||:var CQueue = function() { this.stack1 = [] this.stack2 = []};/** * @param {number} value * @return {void} */CQueue.prototype.appendT...原创 2020-02-21 12:49:14 · 164 阅读 · 0 评论 -
LeetCode 剑值Offer(1)
前言最近LeetCode上架了剑值Offer的题目集,恰巧几天没做题可能有些生疏了,打算抽点时间集中刷两道。这几道题很简单,也没啥看的价值,就当是凑积分了。数组中重复的数字var findRepeatNumber = function(nums) { let dic = {} for (let i = 0;i<nums.length;i++) { let...原创 2020-02-20 21:44:51 · 225 阅读 · 0 评论 -
几个二叉树和二叉搜索树的题目
前言跟着上一篇走。。。对称二叉树首先用递归实现function mirrior(root) { function help(r1, r2) { if (!r1 && !r2) return true; if (!r1 || !r2 || r1.val !== r2.val) return false; return help(r1.left, r...原创 2020-02-10 15:18:51 · 284 阅读 · 0 评论 -
几个二叉树和队列的题目
前言出不了门,在家做题二叉树的遍历分别用前中后三种遍历方式,先递归再循环,首先第一个是数的定义。function TreeNode = (val) => { this.val = val; this.left = null; this.right = null;}前序const preOrder = (root) => { if(!root) retur...原创 2020-02-03 19:33:08 · 211 阅读 · 0 评论 -
几个哈希表和双指针的题目
前言二数之和是好多人刷LeetCode的第一道题,很多坚持不下来的小伙伴们,三数之和四数之和了解一下。两数之和这里使用哈希表来解决function twoSum(nums, target) { let map = {}; for (let i = 0; i < nums.length; i++) { if (map[nums[i]] !== undefined) re...原创 2020-02-02 15:07:13 · 245 阅读 · 0 评论 -
几个栈和队列的题目
前言继续看几个队列和栈的题目有效括号使用栈:function isValid = s => { let stack = [], repo = ['(', '[','{'] for (let i = 0; i<s.length;i++) { let ch = s[i] if(repo.includes(s[i])) stack.push(ch) i...原创 2020-02-01 21:03:39 · 206 阅读 · 0 评论 -
几个链表的题目
前言找到了个不错的提纲,做了些反转链表的题目反转链表循环和递归,以下三段分别为定义,循环,递归 1,递归 2function ListBode(val) { this.val = val; this.next = null;}function reverseList = head => { if(!head) return head let cur = head...原创 2020-01-30 19:00:15 · 195 阅读 · 0 评论 -
LeetCode 633平方数之和
前言最近打算集中一段时间刷刷题,但是手头的事情还没做完,于是先简单的找几个题来练练手,毕竟一个月左右没有刷题了,可能有些都遗忘了。题意给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c。示例1:输入: 5输出: True解释: 1 * 1 + 2 * 2 = 5示例2:输入: 3输出: False解法这道题解法有很多,还有很少有人知道...原创 2020-01-09 17:05:41 · 221 阅读 · 0 评论 -
LeetCode 653 两数之和 IV
题意给定一个二叉搜索树和一个目标结果,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true。案例 1:输入: 5 / \ 3 6 / \ \2 4 7Target = 9输出: True案例 2:输入: 5 / \ 3 6 / \ \2 4 7Target = 28输出...原创 2019-12-23 20:44:35 · 188 阅读 · 0 评论 -
LeetCode 628三个数的最大乘积
前言回国之后已经好多天没空写博客了,一直在忙开题的事情,搞了整整十天才弄好,也还只是写完了开题报告,还有PPT和一场难熬的答辩在等着我。。。总的来说,这几天一直没空去学习前端知识,就这样过去了十天,以至于做个题都忘了有的API怎么写。不过还好的是开题总算是水完了,还在里面混合了点JS的内容,反正都要做客户端,干嘛不用点自己会的技术呢?于是又开始了找实习前最后的准备。。。题目给定一个整型...原创 2019-12-13 15:53:43 · 207 阅读 · 0 评论 -
LeetCode 41 缺失的第一个正数
题目给定一个未排序的整数数组,找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1说明:你的算法的时间复杂度应为O(n),并且只能使用常数级别的空间。Js1使用到了sort,复杂度为n log n/** * @param {number[]} ...原创 2019-11-18 05:55:02 · 177 阅读 · 0 评论 -
LeetCode 682 棒球比赛
题目你现在是棒球比赛记录员。给定一个字符串列表,每个字符串可以是以下四种类型之一:1.整数(一轮的得分):直接表示您在本轮中获得的积分数。2. “+”(一轮的得分):表示本轮获得的得分是前两轮有效 回合得分的总和。3. “D”(一轮的得分):表示本轮获得的得分是前一轮有效 回合得分的两倍。4. “C”(一个操作,这不是一个回合的分数):表示您获得的最后一个有效 回合的分数是无效的,应该...原创 2019-11-16 04:46:17 · 166 阅读 · 0 评论 -
LeetCode 215 数组中的第K个最大元素
题目在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。Js1用sort API来解决:...原创 2019-11-13 21:47:18 · 109 阅读 · 0 评论 -
LeetCode 905,922 按奇偶排序数组
题目给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。你可以返回满足此条件的任何数组作为答案。示例:输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。提示:1 <= A.length <= 50000 <= A[i] <= 5000...原创 2019-11-13 08:37:43 · 144 阅读 · 0 评论 -
LeetCode 164 最大间距
前言不看题意是最简单的排序题了,线性时间的话,我们就要考虑题意给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例 1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例 2:输入: [10]输出: 0解释: 数组元素个...原创 2019-11-13 05:22:33 · 212 阅读 · 0 评论 -
LeetCode 10 正则表达式匹配, 459 重复的子字符串
前言今天在尝试使用JS做一些正则表达式的题目,选出来这两道,前者是困难难度了,后者是简单难度的,之前我也做过,链接在这里,使用的是Python,使用了比较巧妙的处理,如果自己想的话很难想到这个方面,所以用正则的方式重写一下,下面是用Js重新实现的该方法:/** * @param {string} s * @return {boolean} */var repeatedSubstring...原创 2019-11-12 08:02:38 · 277 阅读 · 0 评论 -
LeetCode 914 卡牌分组
题目给定一副牌,每张牌上都写着一个整数。此时,你需要选定一个数字 X,使我们可以将整副牌按下述规则分成 1 组或更多组:每组都有 X 张牌。组内所有的牌上都写着相同的整数。仅当你可选的 X >= 2 时返回 true。示例 1:输入:[1,2,3,4,4,3,2,1]输出:true解释:可行的分组是 [1,1],[2,2],[3,3],[4,4]示例 2:输入:[1,1...原创 2019-11-12 00:35:06 · 160 阅读 · 0 评论 -
LeetCode 17电话号码的字母组合, LeetCode 89 格雷编码
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。Js思路很清楚,首先我们要把对应的输入...原创 2019-11-11 22:51:21 · 191 阅读 · 0 评论 -
LeetCode 606 根据二叉树创建字符串
你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。示例 1:输入: 二叉树: [1,2,3,4]1/ 2 3/4输出: “1(2(4))(3)”解释: 原本将是“1(2(4)())(3())”,在你省略所有不必要的空括号对之后,...原创 2019-10-25 23:03:24 · 209 阅读 · 0 评论 -
LeetCode 605 种花问题
假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数 n 。能否在不打破种植规则的情况下种入 n 朵花?能则返回True,不能则返回False。示例 1:输入: flowerbed = [1,0,0,0,1], n = 1输出: Tr...原创 2019-10-22 21:54:41 · 201 阅读 · 0 评论 -
LeetCode 599 两个列表的最小索引总和
假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。示例 1:输入:["Shogun", "Tapioca Express", "Burger King", "KFC"]["Piatti",...原创 2019-10-20 21:31:12 · 226 阅读 · 0 评论 -
LeetCode 598 范围求和2
给定一个初始元素全部为0,大小为 m*n 的矩阵M以及在M上的一系列更新操作。操作用二维数组表示,其中的每个操作用一个含有两个正整数a 和 b 的数组表示,含义是将所有符合0 <= i < a 以及 0 <= j < b 的元素M[i][j]的值都增加 1。在执行给定的一系列操作后,你需要返回矩阵中含有最大整数的元素个数。示例 1:输入:...原创 2019-10-18 16:54:12 · 114 阅读 · 0 评论 -
LeetCode 594 最长和谐子序列
和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。示例 1:输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是:[3,2,2,2,3].说明: 输入的数组长度最大不超过20,000.解法一还是用字典来解决,这里用Py写的话会更简单。/** * @pa...原创 2019-10-15 23:57:58 · 234 阅读 · 0 评论 -
LeetCode 589,590 N叉树的前后序遍历
给定一个 N 叉树,返回其节点值的前序,后序遍历。前序Js/** * // Definition for a Node. * function Node(val,children) { * this.val = val; * this.children = children; * }; *//** * @param {Node} root * @return...原创 2019-10-13 22:09:40 · 248 阅读 · 0 评论 -
LeetCode 581 最短无序连续子数组
给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 1:输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。说明 :输入的数组长度范围在[1, 10,000]。输入...原创 2019-10-12 21:32:27 · 267 阅读 · 0 评论 -
LeetCode 26 快慢指针
###题目描述如下给定一个排序数组,你需要在删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。###举几个例子[1,1,2]–>[1,2…],返回2[1,2,3,3,5]–>[1,2,3,5,…],返回4对于数组超出返回值序列之外的元素如何排列是不需要考虑的。###...原创 2019-05-27 19:35:20 · 327 阅读 · 0 评论 -
LeetCode 1 两数之和(new)
重写Leetcode第一天原创 2019-06-05 13:40:09 · 237 阅读 · 0 评论 -
Leetcode 7 反转数字
还是先写Py和Js吧原创 2019-06-05 19:58:38 · 591 阅读 · 0 评论 -
LeetCode 53 最大子序列和
动态规划原创 2019-06-12 16:01:37 · 344 阅读 · 0 评论 -
LeetCode 9 回文
第三道,暂无Go原创 2019-06-06 09:51:41 · 179 阅读 · 0 评论 -
LeetCode 13 罗马数字转整形
罗马数字包含以下七种字符:I,V,X,L,C,D和M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做II,即为两个并列的 1...原创 2019-06-06 10:26:46 · 203 阅读 · 0 评论 -
LeetCode 58 最后一个单词的长度
动态规划原创 2019-06-13 12:35:52 · 186 阅读 · 0 评论 -
LeetCode 66 加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例2:输入: [4,3,2,1]输出: [4,3,2,2]解释: 输入数组表示数字 4321。...原创 2019-06-13 13:15:08 · 117 阅读 · 0 评论 -
LeetCode 14 最长相同前缀
一定要多注意Js的slice原创 2019-06-07 23:17:06 · 306 阅读 · 0 评论 -
LeetCode 20 有效的括号
在Py中,a=[],b=[],a==b#得到True,而在Js中是false的原创 2019-06-08 10:24:29 · 148 阅读 · 0 评论 -
LeetCode 67 二进制求和
给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字1和0。示例1:输入: a = "11", b = "1"输出: "100"示例2:输入: a = "1010", b = "1011"输出: "10101"解法一:写这个竟然一遍过,惊了!主要是转为字符串做的,同时预先留出一个位置置0,有进位就进位,没有的话转为整形也...原创 2019-06-14 09:45:14 · 256 阅读 · 0 评论 -
LeetCode 21 合并有序链表
迭代和递归原创 2019-06-08 20:44:48 · 256 阅读 · 0 评论 -
LeetCode 104 二叉树最大深度
分治,递归原创 2019-06-19 09:23:24 · 240 阅读 · 0 评论 -
LeetCode 69 开方
实现int sqrt(int x)函数。计算并返回x的平方根,其中x是非负整数。由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。示例 1:输入: 4输出: 2示例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。解法一:首先用**0.5的肯定是耍赖了,,直白点...原创 2019-06-14 15:10:14 · 453 阅读 · 0 评论