![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣
qq_48853631
这个作者很懒,什么都没留下…
展开
-
283. 移动零
class Solution { public void moveZeroes(int[] nums) { if(nums == null || nums.length == 0 || nums.length == 1){ return; } int i = 0;//始终指向下一个不为0的元素需要存放的位置 int j = 0;//始终指向下一个元素(每一个元素) for (j = 0; j原创 2021-01-21 22:12:37 · 65 阅读 · 0 评论 -
盛水最多的容器
class Solution { public int maxArea(int[] height) { if(height == null || height.length == 0){ return 0; } //记录开头指针 int i = 0; //记录结尾指针 int j = height.length - 1; int max = 0;原创 2021-01-18 21:12:29 · 81 阅读 · 0 评论 -
70. 爬楼梯
class Solution { public int climbStairs(int n) { if(n<=2){ return n; } int dp [] = new int[n+1]; dp[1]=1; dp[2]=2; for (int i = 3; i <= n; i++) { dp[i] = dp[i-1] + dp[i-2];原创 2021-01-10 23:48:59 · 69 阅读 · 0 评论 -
2021-01-10(26. 删除排序数组中的重复项)
26. 删除排序数组中的重复项//给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 //// 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 //// //// 示例 1: //// 给定数组 nums = [1,1,2], ////函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。 ////你不需要考虑数组中超出新长度后面的元素。 ////原创 2021-01-10 23:39:22 · 69 阅读 · 0 评论 -
2021-01-10(228. 汇总区间)
228. 汇总区间//给定一个无重复元素的有序整数数组 nums 。 //// 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 num//s 的数字 x 。 //// 列表中的每个区间范围 [a,b] 应该按如下格式输出: //// // "a->b" ,如果 a != b // "a" ,如果 a == b // //// //// 示例 1: //// //输入原创 2021-01-10 14:46:22 · 397 阅读 · 0 评论 -
2021-01-10(91. 解码方法)
91. 解码方法//一条包含字母 A-Z 的消息通过以下映射进行了 编码 : //// //'A' -> 1//'B' -> 2//...//'Z' -> 26// //// 要 解码 已编码的消息,所有数字必须基于上述映射的方法,反向映射回字母(可能有多种方法)。例如,"111" 可以将 "1" 中的每个 "1" 映射为 "A//" ,从而得到 "AAA" ,或者可以将 "11" 和 "1"(分别为 "K" 和 "A" )映射为 "KA" 。注意,"06" 不能映射原创 2021-01-10 13:43:29 · 977 阅读 · 0 评论 -
2021-01-10(64. Minimum Path Sum)
64. Minimum Path Sumclass Solution { public int minPathSum(int[][] grid) { int m = grid.length; int n = grid[0].length; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if( i==0 &原创 2021-01-10 11:24:15 · 61 阅读 · 0 评论 -
2021-01-10(64. 最小路径和)
64. 最小路径和//给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 //// 说明:每次只能向下或者向右移动一步。 //// //// 示例 1: //// //输入:grid = [[1,3,1],[1,5,1],[4,2,1]]//输出:7//解释:因为路径 1→3→1→1→1 的总和最小。// //// 示例 2: //// //输入:grid = [[1,2,3],[4,5,6]]//输出原创 2021-01-10 11:19:27 · 58 阅读 · 0 评论 -
2021-01-10(152. 乘积最大子数组)
152. 乘积最大子数组//给你一个整数数组 nums ,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 //// //// 示例 1: //// 输入: [2,3,-2,4]//输出: 6//解释: 子数组 [2,3] 有最大乘积 6。// //// 示例 2: //// 输入: [-2,0,-1]//输出: 0//解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。 // Related Topics 数组 动态规原创 2021-01-10 10:51:50 · 119 阅读 · 0 评论 -
2021-01-10(53. 最大子序和)
53. 最大子序和动态规划://给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 //// 示例: //// 输入: [-2,1,-3,4,-1,2,1,-5,4]//输出: 6//解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。// //// 进阶: //// 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 // Related Topics 数组 分治算法 动态规划 // ????原创 2021-01-10 10:38:52 · 66 阅读 · 0 评论 -
2021-01-09(70.爬楼梯)
70.爬楼梯//假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 //// 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? //// 注意:给定 n 是一个正整数。 //// 示例 1: //// 输入: 2//输出: 2//解释: 有两种方法可以爬到楼顶。//1. 1 阶 + 1 阶//2. 2 阶 //// 示例 2: //// 输入: 3//输出: 3//解释: 有三种方法可以爬到楼顶。//1. 1 阶 + 1 阶 + 1 阶//2原创 2021-01-09 20:18:55 · 62 阅读 · 0 评论 -
2021-01-09(120. 三角形最小路径和)
120. 三角形最小路径和//给定一个三角形 triangle ,找出自顶向下的最小路径和。 //// 每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果//正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。 //// //// 示例 1: //// //输入:triangle = [[2],[3,4],[6,5,7],[4,1,8,3]]//输出:原创 2021-01-09 20:13:40 · 76 阅读 · 0 评论 -
2021-01-08(1143. 最长公共子序列)
1143. 最长公共子序列//给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 //// 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。 //例如,"ace" 是 "abcde" 的子序列,但 "aec" 不是 "abcde" 的子序列。两个字符串的「公共子序列」是这两个字符串所共同拥有的子序列。// //// 若这两个字符串没有公共子序列,则返回 0。 //原创 2021-01-08 16:49:47 · 91 阅读 · 0 评论 -
2021-01-07(63. 不同路径 II)
63. 不同路径 IIclass Solution { public int uniquePathsWithObstacles(int[][] obstacleGrid) { int m = obstacleGrid.length; int n = obstacleGrid[0].length; int dp[] = new int[n+1]; dp[1]=1; for (int i = 0; i < m;原创 2021-01-07 22:11:13 · 62 阅读 · 0 评论 -
2020-01-07(62. 不同路径)
62. 不同路径class Solution { public int uniquePaths(int m, int n) { //定义dp数组 int dp[][] = new int[m][n]; for (int i = m - 1 ; i >= 0; i--) { for (int j = n- 1; j >= 0; j--) { //判断是否到边上了原创 2021-01-07 22:03:13 · 52 阅读 · 0 评论 -
2021-1-7(70. 爬楼梯)
1、递归(超时)class Solution { public int climbStairs(int n) { if(n<=2){ return n; } return climbStairs(n-1) + climbStairs(n-2); }}2、改进(动态规划)class Solution { public int climbStairs(int n) { if(n&l原创 2021-01-07 21:54:24 · 66 阅读 · 0 评论