随笔分类 - LeetCode每日一题
LeetCode每日一题
摘要:1028. 从先序遍历还原二叉树 题目分析 这个题其实跟我们之前序列化二叉树的题有点类似,这个题的难点在于怎么把对应的层次节点的父节点找出来,说实话想的有点久。 因为树的问题一般都是递归解决,所以我这次也是用了递归的方法。 具体来说就是 字符串的第一次出现的数字必定为当前树的根节点,因为他是前序遍历
阅读全文
摘要:1014. 最佳观光组合 题目分析 这个题一开始我也没看懂怎么做,但是我知道暴力是可以解出来的,就尝试写了暴力写法,但是TLE了。 后来静下来仔细分析。我们在这个过程中需要寻找的是最大的两个值去进行比较。 我就依照这个思路做了第一版答案,发现这个思想是错的,因为两个最大值之间的距离可能非常的大,甚至
阅读全文
摘要:297. 二叉树的序列化与反序列化 题目分析 这个题目,要求我们把一棵二叉树序列化成字符串,并且还要把这个字符串反序列化成一棵树。 讲真这个题写的hard难度的确吓死不少的人,不过这个字符串的要求还是比较宽松的,比如说空节点我们可以用一个符号来表示,这样就不用像普通构造二叉树的方法需要前缀+中缀遍历
阅读全文
摘要:14. 最长公共前缀 简单题,就不多说了 class Solution { public String longestCommonPrefix(String[] strs) { if(strs.length == 0){ return ""; } String str = strs[0]; for(
阅读全文
摘要:1300. 转变数组后最接近目标值的数组和 这个题是昨天的每日一题,昨天太忙了,没来得及写完。但是有了思想,本地上跑了几次发现跑出来的答案又误差就溜掉了。 今天有空了就来填一下坑。 class Solution { public int findBestValue(int[] arr, int ta
阅读全文
摘要:128. 最长连续序列 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例: 输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。 这个题就是让你在给定的数组中找一个连续递增的序列,
阅读全文
摘要:https://leetcode-cn.com/problems/largest-rectangle-in-histogram/ 这个题没有做啥要求,暴力也能过。 其实这个题有点像接雨水一样,看题解有人用扫描法也做出来了。但是还是用单调栈的方法吧,(明明22天前做出来了,今天却做不出来???) pu
阅读全文
摘要:https://leetcode-cn.com/problems/house-robber/ 经典dp问题. /** * 打家劫舍问题,这个是这类问题中最简单的一题 * @param nums * @return */ public int rob(int[] nums) { int length
阅读全文
摘要:https://leetcode-cn.com/problems/decode-string/ 这个题做过很多次了,没啥难度,利用栈存储前面出现过的操作就可以了。 /** * 执行用时 : * 1 ms * , 在所有 Java 提交中击败了 * 90.09% * 的用户 * 内存消耗 : * 37
阅读全文
摘要:https://leetcode-cn.com/problems/subarray-sums-divisible-by-k/ 第一眼,子数组问题,以为是滑动窗口,但是仔细想想做不了。 然后看了眼数据规模 30000,私以为可以暴力法过,但是死在了第69个测试用例。 class Solution {
阅读全文
摘要:https://leetcode-cn.com/problems/linked-list-cycle-ii/ 这个题跟今天LeetCode的每日一题是相同的思路,注意判断传入的链表是否为空以达到bug free~ /** * Definition for singly-linked list. *
阅读全文
摘要:https://leetcode-cn.com/problems/find-the-duplicate-number/ 这个题跟剑指Offer有一题寻找重复数差不多,但是这个题要求更高一点,要求不能修改原数组的元素,一开始的我要求都没看完就做了,我佛了。。。 public int findDupli
阅读全文
摘要:https://leetcode-cn.com/problems/lru-cache/ 这个题在Java可以偷鸡,直接用LinkedHashMap可以直接秒杀 import java.util.LinkedHashMap; import java.util.Map; class LRUCache {
阅读全文
摘要:https://leetcode-cn.com/problems/degree-of-an-array/ 这个题跟昨天做的子串很相似哈,哈希表+滑动窗口完成。 class Solution { public int findShortestSubArray(int[] nums) { HashMap
阅读全文
摘要:https://leetcode-cn.com/problems/minimum-window-substring/ 很典型的滑动窗口题,但是有隐藏了很多的杀机。先上代码吧。 class Solution { public String minWindow(String s, String t) {
阅读全文
摘要:https://leetcode-cn.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/ 这个题的思想其实很容易理解,我们的前序遍历数组中,第一个元素肯定是当前这棵树的根节点,然后我们再中序遍历中找到这个根
阅读全文
摘要:https://leetcode-cn.com/problems/spiral-matrix/ 这个题应该也是剑指offer上的原题吧,难点觉得就是在怎么解决边界值的问题,就是你每次在寻找元素的时候应该在哪里开始、在哪里结束。这个题我做了三次,感觉都不是特别的熟练,在找边界的时候还是花了点时间。 第
阅读全文
摘要:https://leetcode-cn.com/problems/find-the-longest-substring-containing-vowels-in-even-counts/ 这个是今天的每日一题,菜鸡的我又没有作出来 QAQ 只能乖乖去看花花酱的视频了,贴一下代码吧 public in
阅读全文
摘要:https://leetcode-cn.com/problems/count-number-of-teams/ 这个题目虽然是中等题,但是给的测试用例很少,最大才200个,所以直接暴力三循环也可以过,时间复杂度O(n^3),代码就不贴了。 后来看了花花酱的题解,学到个更加牛逼的技巧? 我们固定一个i
阅读全文
摘要:125题:https://leetcode-cn.com/problems/valid-palindrome/ 这个题就是一个很标准的验证回文字符串,但是这个字符串又有点不一样,它有数字,有大写,有小写,甚至还有空格和非数字字符,根据题目意思,空格,非数字符号是不会被纳入评价范围的,同时判定的时候也
阅读全文