LeetCode
LeetCode算法题解
Spearmint_
这个作者很懒,什么都没留下…
展开
-
leetcode题解(十三)--数组中的第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 let maxLastNum = (arr, k) => { for (l...原创 2019-10-16 23:10:21 · 2079 阅读 · 1 评论 -
leetcode题解(十二)--最大间距
给定一个无序的数组,找出数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。示例1:输入: [3,6,9,1]输出: 3解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。示例2:输入: [10]输出: 0解释: 数组元素个数小于 2,因此返回 0。 let maxSiz...原创 2019-10-16 22:36:26 · 1989 阅读 · 0 评论 -
leetcode题解(十一)--按奇偶排序数组 II
给定一个非负整数数组A, A 中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当A[i] 为奇数时,i也是奇数;当A[i]为偶数时, i 也是偶数。你可以返回任何满足上述条件的数组作为答案。示例:输入:[4,2,5,7]输出:[4,5,2,7]解释:[4,7,2,5],[2,5,4,7],[2,7,4,5] 也会被接受。 let sortArr...原创 2019-10-16 22:25:09 · 2104 阅读 · 0 评论 -
leetcode题解(十)--种花问题
假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。给定一个花坛(表示为一个数组包含0和1,其中0表示没种植花,1表示种植了花),和一个数n。能否在不打破种植规则的情况下种入n朵花?能则返回True,不能则返回False。示例 1:输入: flowerbed = [1,0,0,0,1], n = 1输出:...原创 2019-10-01 17:41:49 · 1047 阅读 · 0 评论 -
leetcode题解(九)--电话号码的字母组合
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].说明:尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 var letterCom...原创 2019-10-01 15:33:41 · 706 阅读 · 0 评论 -
leetcode题解(八)--不使用加减号进行求和
计算两个整数a和b的总和,但不允许使用+和-运算符。示例1:输入:a = 1,b = 2输出3示例2:输入:a = -2,b = 3输出1不使用加减,那就只能通过位运算来计算首先需要了解两个概念异或:异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同...原创 2019-09-26 21:59:25 · 739 阅读 · 0 评论 -
leetcode题解(七)
给定长度为n的数组,找出重复次数最多的元素。 重复最多的元素是出现超过⌊n /2⌋倍的元素。您可以假设该数组非空,并且重复最多的元素始终存在于数组中。例1:输入:[3,2,3]输出:3例2:输入:[2,2,1,1,1,2,2]输出:2 var majorityElement = function(arr){ var num = arr[0], ...原创 2019-09-20 22:54:31 · 602 阅读 · 0 评论 -
leetcode题解(六)
给定已按升序排序的整数数组,找到两个数字,使它们相加到特定的目标数。函数twoSum应返回两个数字的索引,以便它们加起来到目标,其中index1必须小于index2。注意:返回的答案(index1和index2)不是从零开始的。假设每个输入只有一个解决方案,并且不会两次使用相同的元素。示例:输入:数字= [2,7,11,15],目标= 9输出:[1,2]说明:2和7之和为9.因此i...原创 2019-09-18 21:26:03 · 570 阅读 · 0 评论 -
leetcode题解(五)
给定一个只包含字符'(',')','{','}','['和']'的字符串,确定输入字符串是否有效。如果输入字符串有效:必须使用相同类型的括号关闭左括号。必须以正确的顺序关闭打开括号。请注意,空字符串也被视为有效。例1:输入:“()”输出:true例2:输入:“()[] {}”输出:true例3:输入:“(]”输出:false例4:输入:“([]]”输出:f...原创 2019-09-17 21:00:10 · 552 阅读 · 0 评论 -
leetcode题解(四)
给定排序的数组nums,就地删除重复项,使每个元素只出现一次并返回新的长度。不要为另一个数组分配额外的空间,必须通过使用O(1)额外内存修改输入数组来实现此目的。例1:鉴于nums = [1,1,2],返回length = 2,nums的前两个元素分别为1和2。例2:鉴于nums = [0,0,1,1,1,2,2,3,3,4],返回length = 5,nums的前五个...原创 2019-09-13 23:47:17 · 296 阅读 · 0 评论 -
leetcode题解(三)
给定一个字符串,确定它是否是回文,只考虑字母数字字符并忽略大小写。注意:出于此问题的目的,我们将空字符串定义为有效的回文。Example 1:Input: "A man, a plan, a canal: Panama"Output: trueExample 2:Input: "race a car"Output: false// 使用双指针var isPalindr...原创 2019-09-10 20:42:07 · 285 阅读 · 0 评论 -
leetcode题解(二)
给定一个非空的整数数组,除了一个元素外,每个元素都会出现两次。 找出唯一的那一个。注意:您的算法应具有线性运行时复杂性。 不使用额外内存.Example 1:Input: [2,2,1]Output: 1Example 2:Input: [4,1,2,1,2]Output: 4//用indexOf和lastIndexOf进行对比,若返回的下标一致说明...原创 2019-09-09 21:42:56 · 265 阅读 · 0 评论 -
leetcode题解
将字符串'Let's take LeetCode contest' 转换为's'teL ekat edoCteeL tsetnoc'保留原有的空格var func = function(str){ let arr = str.split(' ') // 对数组进行遍历,然后反转每个元素 let result = arr.map((item) =>...原创 2019-09-08 23:35:13 · 254 阅读 · 0 评论