![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
peacejl
这个作者很懒,什么都没留下…
展开
-
关于leetcode2,动态规划
如何去思考:每一步都是这样的,现有一个str:“aaabd”,知道它的最长无重复个数;然后再有一个str:“aaabdc”那么,问题等于=已经知道前一个str的无重复最大长度+后一个字母,得到现在的最长个数,问题二=问题一的解决方案+问题一和问题二的差别;思路:1.字符串必有一个结尾字符“”;“abaft”的结尾字符为“t”2.遍历字符串中的每一个字符,得到以该字符串为结尾的最大的不...原创 2020-05-05 20:09:11 · 111 阅读 · 0 评论 -
Leetcode:378. 有序矩阵中第K小的元素
题目:给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。请注意,它是排序后的第k小元素,而不是第k个元素。示例:matrix = [[ 1, 5, 9],[10, 11, 13],[12, 13, 15]],k = 8,返回 13。说明:你可以假设 k 的值永远是有效的, 1 ≤ k ≤ n2 。学习,代码来自leetcode评论p...原创 2019-04-07 09:39:05 · 207 阅读 · 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,99]...原创 2019-04-07 10:48:07 · 99 阅读 · 0 评论 -
Leetcode:127. 单词接龙
题目:给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设 beginWord 和 e...原创 2019-04-02 10:25:58 · 127 阅读 · 0 评论 -
leetcode:149. 直线上最多的点数
题目:给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。示例 1:输入: [[1,1],[2,2],[3,3]]输出: 3解释:^|| o| o| o±------------>0 1 2 3 4示例 2:输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出: 4解释:^...原创 2019-04-02 12:06:39 · 233 阅读 · 0 评论 -
Leetcode:131. 分割回文串
题目:给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: “aab”输出:[[“aa”,“b”],[“a”,“a”,“b”]]思路:分为三个函数,主方法函数,递归函数,检查是否为回文函数重点://new ArrayList<>(list))是因为,如不new,则list在后来被修改后,此时存储的值也会被修...原创 2019-03-28 19:57:53 · 145 阅读 · 0 评论 -
Leetcode.152. 乘积最大子序列
题目:给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。思路:求最大值,可以看成求被0拆分的各个子数组的最大值。当一个数组中没有0存在,则...原创 2019-03-29 10:32:22 · 80 阅读 · 0 评论 -
Leetcode:169. 求众数
题目:给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2用map记录每一个数字出现的个数class Solution { public int majorityElement(i...原创 2019-03-29 10:42:31 · 93 阅读 · 0 评论 -
Leetcode:322. 零钱兑换
题目:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说明:你可...原创 2019-04-02 19:18:11 · 112 阅读 · 0 评论 -
Leetcode:155. 最小栈
题目:设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);...原创 2019-03-29 11:57:45 · 77 阅读 · 0 评论 -
Leetcode:128. 最长连续序列
题目:给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。学习:class Solution { public int longestConsecutive(int[] nums) { Set&...原创 2019-04-02 20:57:06 · 92 阅读 · 0 评论 -
Leetcode:200. 岛屿的个数
题目:给定一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,计算岛屿的数量。一个岛被水包围,并且它是通过水平方向或垂直方向上相邻的陆地连接而成的。你可以假设网格的四个边均被水包围。示例 1:输入:11110110101100000000输出: 1示例 2:输入:11000110000010000011输出: 3学习DFSpublic int numIslan...原创 2019-04-03 17:01:04 · 108 阅读 · 0 评论 -
Leetcode:236. 二叉树的最近公共祖先
题目:给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉树: root = [3,5,1,6,2,0,8,null,null,7,4]示例 1:输入: root = [3,5,...原创 2019-03-28 11:24:53 · 94 阅读 · 0 评论 -
Leetcode:125.验证回文串
题目:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “race a car”输出: falseclass Solution { public boolean isPalindr...原创 2019-03-28 11:14:16 · 89 阅读 · 0 评论 -
Leetcode:88. 合并两个有序数组
题目:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 =...原创 2019-03-28 10:27:59 · 92 阅读 · 0 评论 -
leetcode:230.二叉搜索树中第K小的元素
my思路:既然是二叉搜索树,那么就已经排序好了,把树转为中序列表,第K-1个即为答案。用时较长,时间为3ms//自己写的 2019.3.26//报错一:返回类型不对//报错二:List中未Integer,I为大写,并且不是int//报错三:roottotree函数为返回;class Solution {public int kthSmallest(TreeNode root, int...原创 2019-03-28 11:25:03 · 81 阅读 · 0 评论 -
Leetcode:138.复制带随机指针的链表
题目:给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深拷贝。示例:输入:{“KaTeX parse error: Expected '}', got 'EOF' at end of input: …":"1","next":{"id”:“2”,“next”:null,“random”:{“KaTeX parse error: E...原创 2019-03-28 11:24:17 · 110 阅读 · 0 评论 -
Leetcode:141. 环形链表
题目:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0输出:tru...原创 2019-03-26 20:30:10 · 92 阅读 · 0 评论 -
Leetcode:324. 摆动排序 II
题目:给定一个无序的数组 nums,将它重新排列成 nums[0] < nums[1] > nums[2] < nums[3]… 的顺序。示例 1:输入: nums = [1, 5, 1, 1, 6, 4]输出: 一个可能的答案是 [1, 4, 1, 5, 1, 6]示例 2:输入: nums = [1, 3, 2, 2, 3, 1]输出: 一个可能的答案是 [2,...原创 2019-03-30 16:38:59 · 199 阅读 · 0 评论 -
Leetcode:124. 二叉树中的最大路径和
题目:给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入: [1,2,3] 1 / \ 2 3输出: 6示例 2:输入: [-10,9,20,null,null,15,7]-10/ 9 20/ 15 7输出: 42学习,代码来自leet...原创 2019-04-04 11:24:30 · 146 阅读 · 0 评论 -
Leetcode:139. 单词拆分
题目:给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以...原创 2019-04-04 18:03:31 · 154 阅读 · 0 评论 -
Leetcode:179. 最大数
题目:给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。示例 1:输入: [10,2]输出: 210示例 2:输入: [3,30,34,5,9]输出: 9534330说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。思路:重构一个比较器class Solution { public String largestNumber(int[] nums)...原创 2019-03-27 11:58:00 · 135 阅读 · 0 评论 -
Leetcode:136. 只出现一次的数字
题目:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4思路:使用异或,记住:int a ,b;a!=b时,a^b相当于a+b;(猜测:内部进行了二进制的异或)...原创 2019-03-27 12:12:34 · 80 阅读 · 0 评论 -
Leetcode.240. 搜索二维矩阵 II
题目:编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性:每行的元素从左到右升序排列。每列的元素从上到下升序排列。示例:现有矩阵 matrix 如下:[[1, 4, 7, 11, 15],[2, 5, 8, 12, 19],[3, 6, 9, 16, 22],[10, 13, 14, 17, 24],[...原创 2019-03-27 14:47:38 · 98 阅读 · 0 评论 -
Leetcode:295. 数据流的中位数
中位数是有序列表中间的数。如果列表长度是偶数,中位数则是中间两个数的平均值。例如,[2,3,4] 的中位数是 3[2,3] 的中位数是 (2 + 3) / 2 = 2.5设计一个支持以下两种操作的数据结构:void addNum(int num) - 从数据流中添加一个整数到数据结构中。double findMedian() - 返回目前所有元素的中位数。示例:addNum(1)...原创 2019-04-06 10:07:57 · 185 阅读 · 0 评论 -
Leetcode:395. 至少有K个重复字符的最长子串
题目:找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 T 的长度。示例 1:输入:s = “aaabb”, k = 3输出:3最长子串为 “aaa” ,其中 ‘a’ 重复了 3 次。示例 2:输入:s = “ababbc”, k = 2输出:5最长子串为 “ababb” ,其中 ‘a’ 重复了 2 次, ‘b’ 重...原创 2019-04-01 14:55:18 · 522 阅读 · 0 评论 -
Leetcode:198. 打家劫舍
题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃...原创 2019-04-01 17:42:23 · 95 阅读 · 0 评论 -
Leetcode:171. Excel表列序号
题目:给定一个Excel表格中的列名称,返回其相应的列序号。例如,A -> 1B -> 2C -> 3…Z -> 26AA -> 27AB -> 28…示例 1:输入: “A”输出: 1示例 2:输入: “AB”输出: 28自己写的:思路:利用Map,把A-Z的与值1-26一一对应class Solution { p...原创 2019-03-28 11:24:37 · 118 阅读 · 0 评论