Leetcode
文章平均质量分 69
深入Leetcode题目,每个题目都写有详细的题目详解,以及已经AC的源程序代码,记录每次写题思路,不断提升自我
友人和他的朋友们
公众号:友人和他的朋友们 Java 全栈文档库 www.codermast.com 编程桅杆的作者
展开
-
Leetcode 62. 不同路径 - 动态规划DP秒解不同路径
机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。从左上角开始,总共有 3 条路径可以到达右下角。题目数据保证答案小于等于 2 * 109。输入:m = 3, n = 7。输入:m = 3, n = 2。输入:m = 7, n = 3。输入:m = 3, n = 3。问总共有多少条不同的路径?原创 2023-03-21 00:26:09 · 106 阅读 · 0 评论 -
Leetcode 455. 分发饼干【贪心算法】
对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。但是,每个孩子最多只能给一块饼干。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。你有两个孩子和三块小饼干,2个孩子的胃口值分别是1,2。输入: g = [1,2,3], s = [1,1]输入: g = [1,2], s = [1,2,3]原创 2023-03-19 15:38:47 · 265 阅读 · 2 评论 -
Leetcode 6322. 检查骑士巡视方案 暴力模拟法 第337场周赛,第二题
给你一个 n x n 的整数矩阵 grid ,由范围 [0, n * n - 1] 内的不同整数组成,其中 grid[row][col] 表示单元格 (row, col) 是骑士访问的第 grid[row][col] 个单元格。骑士的行动是从下标 0 开始的。输入:grid = [[0,11,16,5,20],[17,4,19,10,15],[12,1,8,21,6],[3,18,23,14,9],[24,13,2,7,22]]输入:grid = [[0,3,6],[5,8,1],[2,7,4]]原创 2023-03-19 12:35:51 · 344 阅读 · 0 评论 -
Leetcode15. 三数之和 (排序+双指针优化解法)步骤详解
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!我们使用一个固定指针k,指向数组的开头,使其不断自增,小于nums.length - 2,这里需要小于 nums.length - 2,是因为需要保证其指针后最少有一个i指针和j指针的存在。在k不变的情况下,三者之和为0,那么当i++单独执行后,且不与之前的值重复,则更新后的三者必不可能为0,必大于0,此时则需要将 j–;输出:[[-1,-1,2],[-1,0,1]]原创 2023-03-19 00:32:30 · 328 阅读 · 0 评论 -
Leetcode 746. 使用最小花费爬楼梯 (动态规划法及优化求解)
题目地址Leetcode 746. 使用最小花费爬楼梯题目描述给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。请你计算并返回达到楼梯顶部的最低花费。示例 1:输入:cost = [10,15,20]输出:15解释:你将从下标为 1 的台阶开始。支付 15 ,向上爬两个台阶,到达楼梯顶部。总花费为 15 。示例 2:输入:cos原创 2022-02-27 10:55:33 · 241 阅读 · 3 评论 -
Leetcode 1646. 获取生成数组中的最大值 - 模拟法直接进行循环
题目地址1646. 获取生成数组中的最大值解题思路 题目中已经给定了nums数组的两个初始值,并且给定了相关的递推公式,我们直接在一层for循环中进行模拟填数,直接将数组的数据填写。代码方法1️⃣:模拟法 public int getMaximumGenerated(int n) { if(n == 0){ return 0; } // 定义所需填充数组 int[] nums = new int[n原创 2022-02-23 10:44:23 · 209 阅读 · 0 评论 -
Leetcode 70. 爬楼梯 - 递归、动态规划、动态规划优化(附代码)
题目地址Leetcode 70.爬楼梯题解地址Leetcode 70.爬楼梯详细题解Git仓库Github:https://github.com/ihaner/LeetCode/tree/master/src/problem/leet070题目描述假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1 阶 + 1 阶2 阶示例 2:输入:n =原创 2022-02-22 21:21:16 · 493 阅读 · 1 评论 -
Leetcode 509. 斐波那契数 - 递归、动态规划、动态规划优化(附代码)
Leetcode 509. 斐波那契数 - 递归、动态规划、动态规划优化(附代码)题目描述斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:F(0) = 0,F(1) = 1F(n) = F(n - 1) + F(n - 2),其中 n > 1给定 n ,请计算 F(n) 。示例 1:输入:n = 2输出:1解释:F(2) = F(1) + F(0) = 1 + 0 = 1示例 2:输入原创 2022-02-22 11:18:26 · 185 阅读 · 1 评论