leetcode
quan!!!
这个作者很懒,什么都没留下…
展开
-
【LeetCode】1. 两数之和
题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 思路 暴力法...原创 2020-01-17 17:03:21 · 133 阅读 · 0 评论 -
【LeetCode】2. 两数相加
题目 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 输入: (2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -&...原创 2020-01-17 16:30:52 · 103 阅读 · 0 评论 -
leetcode169、求众数(后更)
题目 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。 示例 1: 输入: [3,2,3] 输出: 3 示例 2: 输入: [2,2,1,1,1,2,2] 输出: 2 var majorityElement = function(nums) { let obj = {} ...原创 2019-05-28 16:40:30 · 59 阅读 · 0 评论 -
leetcode412、Fizz Buzz
题目 写一个程序,输出从 1 到 n 数字的字符串表示。 如果 n 是3的倍数,输出“Fizz”; 如果 n 是5的倍数,输出“Buzz”; 如果 n 同时是3和5的倍数,输出 “FizzBuzz”。 示例 1: n = 15, 返回: [ “1”, “2”, “Fizz”, “4”, “Buzz”, “Fizz”, “7”, “8”, “Fizz”, “Buzz”, “11”,...原创 2019-05-28 16:37:07 · 80 阅读 · 0 评论 -
leetcode171、Excel表列序号
题目 给定一个Excel表格中的列名称,返回其相应的列序号。 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 示例 1: 输入: “A” 输出: 1 示例 2: 输入: “AB” 输出: 28 思想:就是二十六进制 var titleToNumber = function(s) ...原创 2019-05-28 16:33:22 · 68 阅读 · 0 评论 -
leetcode118、杨辉三角
题目 给定一个Excel表格中的列名称,返回其相应的列序号。 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 示例 1: 输入: “A” 输出: 1 示例 2: 输入: “AB” 输出: 28 思想:其实就是二十六进制 var titleToNumber = function(s...原创 2019-05-28 16:21:29 · 80 阅读 · 0 评论 -
leetcode104、二叉树的最大深度
题目 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 var maxDepth = function(root) { if (root === null) { return 0 } let left = 1 + maxDepth(root.left) let rig...原创 2019-05-28 16:08:22 · 64 阅读 · 0 评论 -
leetcode237、删除链表中的节点
题目 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 – head = [4,5,1,9],它可以表示为: 说明: 链表至少包含两个节点。 链表中所有节点的值都是唯一的。 给定的节点为非末尾节点并且一定是链表中的一个有效节点。 不要从你的函数中返回任何结果。 示例 1: 输入: head = [4,5,1,9], node = 5 ...原创 2019-05-28 16:01:38 · 77 阅读 · 0 评论 -
leetcode283、移动零
题目 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 说明: 必须在原数组上操作,不能拷贝额外的数组。 尽量减少操作次数。 示例 1: 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] 方法一:将不是0的数全部提到数组前面,然后把后面的数全部变为0(效率一般般) var moveZeroes = function(nums) ...原创 2019-05-28 15:56:27 · 74 阅读 · 0 评论 -
leetcode696、计数二进制子串
题目 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。 示例 1: 输入: “00110011” 输出: 6 解释: 有6个子串具有相同数量的连续1和0:“0011”,“01”,“1100”,“10”,“0011” 和 “01”。 请注意,一些重复出现的子串要计算它们出现的次数。 另外,“00110011”不是有效的子串,因为所有的0(和1)没有组合在一起...原创 2019-05-24 00:36:20 · 142 阅读 · 0 评论 -
leetcode136、只出现一次的数字
题目 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4 方法一:JSapi indexOf + lastIndexOf / 两个for循环 (性能非常低) var singleNumber = function(nums) { ...原创 2019-05-27 20:28:44 · 105 阅读 · 0 评论 -
leetcode53、最大子序和
题目 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例 1: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 思路:动态规划 令状态dp[i]表示以A[i]作为末尾的连续序列的最大和。比如[-2,1,-3,4,-1,2,1,-5,4] 一个序列,下...原创 2019-05-27 00:21:48 · 75 阅读 · 0 评论 -
leetcode17、电话号码的字母组合
题目 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:“23” 输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]. 思路: 从示例1很容易看出用两个for循环,一个是先前数组的循环,一个是新字母的循环,比如“23”...原创 2019-05-25 01:25:49 · 106 阅读 · 0 评论 -
leetcode709、转换成小写字母
题目 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。 示例 1: 输入: “Hello” 输出: “hello” 示例 2: 输入: “here” 输出: “here” 示例 3: 输入: “LOVELY” 输出: “lovely” var toLowerCase = function(str) {...原创 2019-05-13 17:54:25 · 106 阅读 · 0 评论