LeetCode动态规划部分
Tag: Dynamic programming
Leo木
这个作者很懒,什么都没留下…
展开
-
LeetCode45 跳跃游戏II
问题描述:给定一个非负整数数组,你最初位于数组的第一个位置,数组中的每个元素代表你在该位置可以跳跃的最大长度,你的目标是使用最少的跳跃次数到达数组的最后一个位置。注:该问题为跳跃游戏的升级版思想:自顶向下动态规划类似版本一中自顶向下动态规划,但将信息表改为到达尾位置所需的步数,如果不可达赋值为MAX。时间复杂度:o(n2)空间复杂度:o(n)//自顶向下动态规划cla...原创 2020-02-29 10:39:54 · 363 阅读 · 0 评论 -
Leetcode55 跳跃游戏
//递归回溯class Solution { public boolean canJump(int[] nums) { if(nums.length < 2) return true; return jump(nums, 0); } public boolean jump(int[] nums, int index){ ...原创 2020-02-29 10:40:59 · 197 阅读 · 0 评论 -
LeetCode48 旋转图像
问题描述:给定一个 n × n 的二维矩阵表示一个图像,将图像顺时针原地旋转 90 度。例:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]//按层次旋转每个元素class Solution { public void rotate(int[][] mat...原创 2020-02-29 10:40:22 · 156 阅读 · 0 评论 -
LeetCode53 最大子序和
//贪心法class Solution { public int maxSubArray(int[] nums) { if(nums.length == 0 || nums == null) return 0; int max = nums[0],sum = nums[0]; for(int i = 1; i < nums.le...原创 2020-02-29 10:40:44 · 71 阅读 · 0 评论 -
LeetCode39 组合总和
问题描述:给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。例:输入: candidates = [2,3,6,7], target = 7。所求解集为:[ [7], [2,2,3] ]注:candidates 中的数字可以无限制重复被选取所有数字(包括 target)都是正整数。解集...原创 2020-01-11 19:12:03 · 164 阅读 · 0 评论 -
LeetCode10 正则表达式匹配
问题:给定匹配串s和模式串p(只包含.和*模式),确定s是否与p匹配.例:(. 表示任一字符匹配,* 表示p前一字符0次以上匹配)s = “aaa”, p = “a*”,匹配;s = “ad”, p = “aab",匹配,;s = “absw”, p = ".”,匹配;s = “aabb”, p = “a*b”,不匹配;思路:递归法首先考虑字符串为空情况:当p为空时,那...原创 2019-12-10 17:41:28 · 94 阅读 · 0 评论 -
LeetCode05:最大回文子串
问题描述:给定一个字符串,找到字符串中的最长回文子串。思路:暴力求解描述:枚举所有子串,判断是否为回文子串,并设置全局最大长度回文子串,在遍历过程中不断更新。时间复杂度:o(n3)空间复杂度:o(n)最长公共子串(二维打表)描述:设置二维表记录原字符串与反转字符串对比情况,在比较过程中动态的记录回文子串的长度。时间复杂度:o(n2)空间复杂度:o(n2)(可通过一...原创 2019-11-23 19:51:06 · 131 阅读 · 0 评论