LeetCode
LeetCode题目
影龙武
加油呀ヾ(◍°∇°◍)ノ゙
展开
-
Java题解LeetCode——1024. 视频拼接
1024节,冲冲冲,通俗易懂的暴力解法原创 2020-10-24 13:08:35 · 349 阅读 · 1 评论 -
Java题解LeetCode——40. 组合总和 II
LeetCode——40. 组合总和 II题目给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集为:[[1, 7],[1, 2, 5],[2, 6],[1,原创 2020-09-10 19:39:32 · 170 阅读 · 0 评论 -
Java题解LeetCode——101.对称二叉树
LeetCode——101.对称二叉树题目101.对称二叉树给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3解析代码递归//递归解法class Solution0101_01 { publ原创 2020-05-31 09:08:57 · 238 阅读 · 0 评论 -
Java题解LeetCode——84.柱状图中最大的矩形
LeetCode——84.柱状图中最大的矩形题目84.柱状图中最大的矩形给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 1,给定的高度为 [2,1,5,6,2,3]。图中阴影部分为所能勾勒出的最大矩形面积,其面积为 10 个单位。示例:输入: [2,1,5,6,2,3]输出: 10解析暴力解法依次遍历元素,然后设置两个指针,初始化为当前元素位置,一个原创 2020-05-30 15:18:27 · 347 阅读 · 0 评论 -
Java题解LeetCode——198.打家劫舍
LeetCode——198.打家劫舍题目198.打家劫舍你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高原创 2020-05-29 08:51:55 · 235 阅读 · 0 评论 -
Java题解LeetCode——394.字符串解码
LeetCode——394.字符串解码题目394.字符串解码给定一个经过编码的字符串,返回它解码后的字符串。编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。示例:s = “3[a]2[bc]原创 2020-05-28 09:59:45 · 267 阅读 · 0 评论 -
Java题解LeetCode——76.最小覆盖子串
LeetCode——76.最小覆盖子串题目76.最小覆盖子串给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字符的最小子串。示例:输入: S = “ADOBECODEBANC”, T = “ABC”输出: “BANC”说明:如果 S 中不存这样的子串,则返回空字符串 “”。如果 S 中存在这样的子串,我们保证它是唯一的答案。解析今天仔细看了题解,原来子串是连续的,以前我以为是不连续的。注意,在官方题解中说字符串T中可能出现重复字符,所以在包含字符的同时原创 2020-05-23 22:03:28 · 304 阅读 · 0 评论 -
Java题解LeetCode——105.从前序与中序遍历序列构造二叉树
LeetCode——105.从前序与中序遍历序列构造二叉树题目105.从前序与中序遍历序列构造二叉树根据一棵树的前序遍历与中序遍历构造二叉树。注意:你可以假设树中没有重复的元素。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7解析图来自LeetCode官方题解递归创建。思路如上图:通过前序数组来确定原创 2020-05-22 11:27:50 · 290 阅读 · 0 评论 -
Java题解LeetCode——5. 最长回文子串
LeetCode——5. 最长回文子串5.最长回文子串给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”分析暴力破解,不要频繁使用substring截取子串,直接转为字符数组用下标操作更快,还有判断回文串用两个指针一头一尾比较,不使用stringbuffer的reverse()反转方法,这样不会超时。我第一次原创 2020-05-21 10:55:03 · 241 阅读 · 0 评论 -
Java题解LeetCode——1. 两数之和
LeetCode——1. 两数之和今天的每日一题不会了╮(╯﹏╰)╭ 找一题代替,从第一题开始做吧题目1.两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]分析暴力枚举原创 2020-05-20 17:22:03 · 172 阅读 · 0 评论 -
Java题解LeetCode——680. 验证回文字符串 Ⅱ
LeetCode——680. 验证回文字符串 Ⅱ题目680.验证回文字符串 Ⅱ给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: “aba”输出: True示例 2:输入: “abca”输出: True解释: 你可以删除c字符。解析用两个指针,一个从头,一个从尾遍历字符串,如果一样就继续;不一样,就先删除左边一个字符(左边的指针往右移动一位),然后接着用指针循环移动遍历,如果一旦发现不相等,就说明删除左边的字符不对,那就接着尝试删除右边的一个原创 2020-05-19 09:29:53 · 253 阅读 · 0 评论 -
Java题解LeetCode——152.乘积最大子数组
LeetCode——152.乘积最大子数组题目152.乘积最大子数组给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。解析连续子数组,就是比如示例1中,[2,3]就是连续子数组,[2,-2]就不是连续子数组原创 2020-05-18 22:04:10 · 275 阅读 · 0 评论