摘要: 题目描述 给定两个单词word1和word2,请计算将word1转换为word2至少需要多少步操作。你可以对一个单词执行以下3种操作:a)在单词中插入一个字符b)删除单词中的一个字符c)替换单词中的一个字符 解析: D[i][j-1] 为 A 的前 i 个字符和 B 的前 j - 1 个字符编辑距离 阅读全文
posted @ 2020-07-24 21:07 打屎也不熬夜 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 题目描述 你在爬楼梯,需要n步才能爬到楼梯顶部 每次你只能向上爬1步或者2步。有多少种方法可以爬到楼梯顶部? 递归法: 1 import java.util.*; 2 3 4 public class Solution { 5 /** 6 * 7 * @param n int整型 8 * @retu 阅读全文
posted @ 2020-07-24 20:26 打屎也不熬夜 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 题目描述 给定一个由非负整数填充的m x n的二维数组,现在要从二维数组的左上角走到右下角,请找出路径上的所有数字之和最小的路径。注意:你每次只能向下或向右移动。 二维数组动态规划求解: 1 import java.util.*; 2 3 4 public class Solution { 5 /* 阅读全文
posted @ 2020-07-24 17:03 打屎也不熬夜 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 继续思考题目"Unique Paths": 如果在图中加入了一些障碍,有多少不同的路径? 分别用0和1代表空区域和障碍 例如 下图表示有一个障碍在3*3的图中央。 [↵ [0,0,0],↵ [0,1,0],↵ [0,0,0]↵] 有2条不同的路径 备注:m和n不超过100. 二维数组动态规划解法: 阅读全文
posted @ 2020-07-24 16:30 打屎也不熬夜 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 题目描述 一个机器人在m×n大小的地图的左上角(起点,下图中的标记“start"的位置)。 机器人每次向下或向右移动。机器人要到达地图的右下角。(终点,下图中的标记“Finish"的位置)。 可以有多少种不同的路径从起点走到终点? 上图是3×7大小的地图,有多少不同的路径? 备注:m和n小于等于10 阅读全文
posted @ 2020-07-24 15:48 打屎也不熬夜 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。 要求时间复杂度为O(n)。 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4]输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 提示: 1 阅读全文
posted @ 2020-07-24 13:12 打屎也不熬夜 阅读(130) 评论(0) 推荐(0) 编辑