Leetcode
LeetCode刷题
倒悬的苹果
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Go语言:LeetCode--数组中重复的数据
题目:给定一个题目:给定一个整数数组 a ,其中 1 <= a[i] <= n (n为数组长度),其中有些元素出现 两次 而其他元素出现 一次 。 找到所有出现 两次 的元素。 你可以不用任何额外空间并在 O(n) 时间复杂度内解决这个问题吗? 示例: 输入: [ 4, 3, 2, 7, 8, 2, 3, 1 ] 输出: [ 2, 3 ] 解法一:使用 map 。用 map 中的 ke...原创 2020-04-18 16:27:34 · 1351 阅读 · 0 评论 -
Go语言:LeetCode--删除链表的倒数第N个节点
题目:给定一个链表,删除,链表的倒数第 n 个节点,并且返回链表的头节点。 示例: 给定一个链表:1->2->3->4->5,和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明:给定的 n 保证是有效的。 进阶:你能尝试使用一趟扫描实现吗? 解法一: 1.第一次遍历链表,获得链表的长度 L。 2.删除链表的倒数第 n 个节点...原创 2020-04-15 21:27:24 · 368 阅读 · 0 评论 -
Go语言:LeetCode-反转字符串
题目:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须 原地修改输入数组 、使用 O(1) 的额外空间解决这一问题。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例1: 输入:[“h”,“e”,“l”,“l”,“o”] 输出:[“o”,“l”,“l”,“e”,“h”] 示例2: 输入:[“...原创 2020-04-14 21:17:43 · 298 阅读 · 0 评论 -
Go语言:LeetCode-重复的DNA序列
题目:所有DNA都由一系列缩写为A,C,G,T的核苷酸组成。例如“ACGAATTCCG”。在研究DNA时,识别DNA中的重复序列有时会对研究非常有帮助。 编写一个函数来查找DNA分子中所有出现过超过一次的10个字母长的序列(子串)。 示例: 输入: s = “AAAAACCCCCAAAAACCCCCCAAAAAGGGTTT” 输出:[“AAAAACCCCC”, “CCCCCAAAAA”] 分析: ...原创 2020-04-01 11:06:42 · 308 阅读 · 0 评论 -
Go语言:LeetCode-只出现一次的数字
题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。你可以不使用额外空间来实现吗? 示例1: 输入:[2,2,1] 输出:1 示例2: 输入:[4,1,2,1,2] 输出:4 分析:由于题目说明了设计的算法应具有线性时间复杂度,所以穷举遍历已经不在适用,这里不描述穷举法的思路和具体实现。下面给出两种解...原创 2020-03-20 10:36:32 · 315 阅读 · 0 评论 -
Go语言:LeetCode-最长回文串
题目:给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写,比如 “Aa” 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过1010。 示例1: 输入:“abccccdd” 输出: 7 解释:我们可以构造最长的回文串是 “dccaccd” ,它的长度是 7 。 分析:  ...原创 2020-03-19 10:48:13 · 250 阅读 · 0 评论 -
Go语言:LeetCode-二叉树的直径
题目:给定一颗二叉树,你需要计算它的直径长度。一颗二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。 示例:给定二叉树 返回3,它的长度是路径[4,2,1,3]或者[5,2,1,3]。 注意:两结点之间的路径长度是以它们之间边的数目表示。 分析:题目给定的示例容易让人产生这样的一个错误想法:只要求出树的左右子树的高度之和即为树的最大直径,其实不然,如以下情况: 上图二叉...原创 2020-03-10 10:52:38 · 313 阅读 · 0 评论 -
Go语言:LeetCode-两数之和
题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2,7,11,15],target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0,1] 解法一: 穷举法。两次遍历整个...原创 2020-03-10 17:43:27 · 848 阅读 · 0 评论 -
Go语言:LeetCode-两数相加
题目:给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字0之外,这两个数都不回以0开头。 示例 输入:(2 -> 4 -> 3) + (5 -> 6 -> 4) 输出:7 -> 0 -> 8 原因:342 ...原创 2020-03-11 14:56:21 · 471 阅读 · 0 评论 -
Go语言:LeetCode-无重复字符的最长子串
题目:给定一个字符串,请你找出其中不含有重复字符的最长字串的长度。 示例1: 输入:“abcabcbb” 输出:3 解释:因为无重复字符的最长子串是“abc",所以其长度为3. 示例2: 输入:”bbbbb" 输出:1 解释:因为无重复字符的最长子串是"b",所以其长度为1 示例3: 输入:“pwwkew" 输出:3 解释:因为无重复字符的最长子串是”wke",所以其长度为3。 请注意,你的答案必...原创 2020-03-11 21:04:02 · 535 阅读 · 0 评论 -
Go语言:Leetcode-字符串的最大公因子
题目:对于字符串 S 和字符串 T,只有在 S = T + … + T (T与自身连接1次或多次)时,我们才认定 " T 能除尽 S "。返回最长字符串 X ,要求满足 X 能除尽 str1 且 X 能除尽 str2 。 示例1: 输入:str1 = “ABCABC” , str2 = “ABC” 输出: “ABC” 示例2: 输入:str1 = “ABABAB” , str2 = “ABAB” ...原创 2020-03-12 16:42:28 · 251 阅读 · 0 评论 -
Go语言:LeetCode-寻找两个有序数组的中位数
题目:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m+n)) 。你可以假设 nums1 和 nums2 不会同时为空。 示例1: nums1 = [1, 3] nums2 = [2] 则中位数是 2.0 示例2: nums1 = [1, 2] nums2 = [3,4] 则中位数是 ( 2 + 3 ...原创 2020-03-13 09:34:08 · 428 阅读 · 0 评论 -
Go语言:LeetCode-最长上升子序列
题目:给定一个无序的整数数组,找到其中最长上升子序列的长度。 示例: 输入:[10,9,2,5,3,7,101,18] 输出:4 解释:最长的上升子序列是[2,3,7,101],它的长度是 4 。 说明: 可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。 你算法的时间复杂度应该为 O(n2) 。 解法: 对原无序数组 nums 进行排序,得到排序后的数组 nums_sort 。 找...原创 2020-03-14 18:44:38 · 382 阅读 · 0 评论 -
Go语言:LeetCode-拼写单词
题目:给你一份【词汇表】(字符串数组) words 中一张【字母表】(字符串) chars 。假如你可以用 chars 中的 【字母】(字符)拼写出 words 中的某个【单词】(=字符串),那么我们就认为你掌握了这个单词。 注意:每次拼写时,chars 中的每个字母都只能用一次。 返回词汇表 words 中你掌握的所有单词的 长度之和。 示例1: 输入:words = [“cat”,“bt”,“...原创 2020-03-17 20:59:16 · 220 阅读 · 0 评论
分享