LeetCode
great978
通信工程专业的本科生
展开
-
动态规划——LeetCode152乘积最大子序列
给定一个整数数组 nums,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释:子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释:结果不能为 2, 因为 [-2,-1] 不是子数组。 思路: max表示以当前节点为终结节点的最大连续子序列乘积 min表示以当前节点为终...原创 2019-11-24 23:10:33 · 312 阅读 · 0 评论 -
动态规划——LeetCode279完全平方数
给定正整数n,找到若干个完全平方数(比如1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。 示例1: 输入: n = 12 输出: 3 解释: 12 = 4 + 4 + 4. 示例 2: 输入: n = 13 输出: 2 解释: 13 = 4 + 9. 动态规划状态转移方程:dp[i]=Math.min(dp[i],dp[i-...原创 2019-11-20 22:23:19 · 242 阅读 · 0 评论 -
动态规划——LeetCode221最大正方形
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 题解关键思路: 这道题检查正方形的第四个角作递归 dp记录最大正方形的边长 代码: class Solution { public int maximalSquare(ch...原创 2019-11-19 23:42:32 · 183 阅读 · 0 评论 -
动态规划——LeetCode322零钱兑换(最少硬币数量)
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。 示例1: 输入: coins = [1, 2, 5], amount = 11 输出: 3 解释: 11 = 5 + 5 + 1 示例 2: 输入: coins = [2], amount = 3 输出: -1 说明: 你可...原创 2019-11-18 23:08:56 · 709 阅读 · 0 评论 -
动态规划——LeetCode264丑数 II
编写一个程序,找出第 n 个丑数。 丑数就是只包含质因数2, 3, 5 的正整数。 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。 说明: 1是丑数。 n不超过1690。 思考: 题解当中几乎只有两种思路,最小堆和dp算法(三指针) dp解法中当前状态不取决于前一项,而是取决于前面的项数...原创 2019-11-16 18:55:43 · 219 阅读 · 0 评论 -
动态规划——LeetCode139单词拆分
题目描述: 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "leetcode", wordDict = ["leet", "code"] 输出: true 解释: 返回 true 因为 "leetco...原创 2019-11-13 23:32:00 · 223 阅读 · 0 评论 -
动态规划——LeetCode120三角形最小路径和
给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径和为11(即,2+3+5+1= 11)。 说明: 如果你可以只使用 O(n)的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。 ...原创 2019-11-12 22:04:08 · 159 阅读 · 0 评论 -
动态规划——LeetCode213打家劫舍 II
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。 示例1: 输入: [2,3,2] 输出: 3 解释: ...原创 2019-11-16 16:50:35 · 199 阅读 · 0 评论 -
LeetCode27-移除元素
题目描述: 给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 给定 nums = [3,2,2,3], val = 3, 函数应该返回新的长度 2, 并且 nu...原创 2019-07-16 11:59:28 · 91 阅读 · 0 评论 -
LeetCode17- 电话号码的字母组合
给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. 说明: 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 代码: imp...原创 2019-04-17 18:13:12 · 150 阅读 · 0 评论 -
LeetCode19- 删除链表的倒数第N个节点
给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5. 说明: 给定的n保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 代码: /** * Definition for sing...原创 2019-04-16 23:15:50 · 109 阅读 · 0 评论 -
LeetCode8-字符串转换整数(atoi)(战胜100%提交记录)
题目描述: 请你来实现一个atoi函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。 当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。 该字符串除了有效的整数部分之后也可能会存在多余的字...原创 2019-04-02 22:06:32 · 99 阅读 · 0 评论 -
LeetCode14- 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串""。 示例1: 输入: ["flower","flow","flight"] 输出: "fl" 示例2: 输入: ["dog","racecar","car"] 输出: "" 解释: 输入不存在公共前缀。 代码: class Solution { public String lon...原创 2019-04-11 20:53:50 · 114 阅读 · 0 评论 -
LeetCode20- 有效的括号
给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。 注意空字符串可被认为是有效字符串。 示例 1: 输入: "()" 输出: true 示例2: 输入: "()[]{}" 输出: true 示例3: 输入: "(]" 输出: false ...原创 2019-04-11 20:06:50 · 101 阅读 · 0 评论 -
LeetCode21- 合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4 代码: /** * Definition for singly-linked list. * public class ListNode { *...原创 2019-04-10 20:56:53 · 126 阅读 · 0 评论 -
LeetCode12- 整数转罗马数字
罗马数字包含以下七种字符:I,V,X,L,C,D和M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做II,即为两个并列的 1...原创 2019-04-04 22:47:43 · 139 阅读 · 0 评论 -
LeetCode13-罗马数字转整数
题目描述: 罗马数字包含以下七种字符:I,V,X,L,C,D和M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做II,即为...原创 2019-04-03 23:00:52 · 171 阅读 · 0 评论