leetcode题解
文章平均质量分 73
记录刷leetcode的解题过程,思考过程,以及相关知识点
fxnfk
这个作者很懒,什么都没留下…
展开
-
leetcode 125. 验证回文串
1 题目描述给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “race a car”输出: false2 注意事项看清题目要求,只考虑字母和数字字符class Solutio...原创 2018-10-23 18:22:59 · 222 阅读 · 0 评论 -
leetcode 564. 寻找最近的回文数
1 题目描述给定一个整数 n ,你需要找到与它最近的回文数(不包括自身)。“最近的”定义为两个整数差的绝对值最小。示例 1:输入: “123”输出: “121”注意:n 是由字符串表示的正整数,其长度不超过18。如果有多个结果,返回最小的那个。2 解题思路太痛苦了,要考虑的情况好多,做出来也没什么成就感。基本上提交后根据错误进行修改,一直改对的。再也不想做这类题了。上图...原创 2018-10-23 18:04:36 · 1230 阅读 · 0 评论 -
leetcode 523. 连续的子数组和
1 题目描述给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入: [23,2,4,6,7], k = 6输出: True解释: [2,4] 是一个大小为 2 的子数组,并且和为 6。示例 2:输入: [23,2,6,4,7], k = 6输出:...原创 2018-10-22 15:45:01 · 1411 阅读 · 0 评论 -
leetcode 560. 和为K的子数组
1 题目描述给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。2 解法我本来想...原创 2018-10-22 15:28:18 · 507 阅读 · 0 评论 -
leetcode 209.长度最小的子数组
1 题目描述给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n log n) ...原创 2018-10-22 14:47:04 · 1072 阅读 · 0 评论 -
leetcode 862. 和至少为K的最短子数组
参考:https://www.jianshu.com/p/f80e7bc7af7b1 题目描述返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 。如果没有和至少为 K 的非空子数组,返回 -1 。示例 1:输入:A = [1], K = 1输出:1示例 2:输入:A = [1,2], K = 4输出:-1示例 3:输入:A = [2,-1,2], K ...原创 2018-10-22 14:21:25 · 1191 阅读 · 0 评论 -
leetcode 4. 两个排序数组的中位数 Median of two sorted arrays
https://leetcode-cn.com/problems/median-of-two-sorted-arrays/description/题目描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。你可以假设 nums1 和 nums2 不同时为空。示例 1:nums1 = [...原创 2018-10-17 20:52:54 · 295 阅读 · 0 评论 -
leetcode 10. 正则表达式匹配 Regular Expression Matching
https://leetcode-cn.com/problems/regular-expression-matching/题目描述给定一个字符串 (s) 和一个字符模式 §。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符。‘*’ 匹配零个或多个前面的元素。匹配应该覆盖整个字符串 (s) ,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。...原创 2018-10-17 18:12:49 · 289 阅读 · 0 评论 -
591. Tag Validator
591. Tag Validator思路栈,从左向右扫描字符串,遇到开始标签压栈,遇到结束标签压栈,结束时判断是否一致;状态,开始标签状态,结束标签状态,输入字符,变换状态,自动状态机。State StartTag EndTag TagContent实现1定义了一个State,定义了State next(char c),感觉写不下去了,因为有的状态转化不能只看一个字符,所以改为String...原创 2019-09-05 14:23:21 · 235 阅读 · 0 评论 -
726. Number of Atoms
原题链接思路思路1设置两个栈,一个放括号,另一个放Map,放一个左括号,就放一个Map,括号出栈时,把另一个栈头的map弹出,值加入到新的栈顶map。public String countOfAtoms(String formula) { Deque<Character> stack1 = new ArrayDeque<>(); Deque<Map&...原创 2019-09-27 16:32:58 · 226 阅读 · 0 评论 -
155. Min Stack ——easy, stack
原题链接思路还没读完题时第一反应是最小堆,然而不符合题意。题意是要实现一个普通的栈,外加一个getMin()的功能。思路是使用两个栈,一个是普通的栈,另一个栈放当前最小值。class MinStack { private Deque<Integer> stack1 = new ArrayDeque<>(); private Deque<Int...原创 2019-10-08 12:27:40 · 214 阅读 · 0 评论 -
880. Decoded String at Index, medium, stack
思路1直接用String把字符串拼起来。public String decodeAtIndex(String S, int K) { StringBuffer sb = new StringBuffer(); for (int i = 0; i < S.length(); i++) { char c = S.charAt(i);...原创 2019-10-08 18:55:07 · 198 阅读 · 0 评论