力扣刷题汇总

devtools/2025/1/18 6:21:49/

动态规划

1 . 最大子序和 (Maximum Subarray Sum)

Leetcode 53. 最大子数组和 经典dp

问题描述:给定一个整数数组,求其中和最大的连续子数组的和。

状态定义:dp[i] 表示以第 i 个元素结尾的最大子序和。

2 . 最长公共子序列 (Longest Common Subsequence, LCS)

Leetcode 1143. 最长公共子序列 经典DP

问题描述:给定两个序列,求它们的最长公共子序列的长度。子序列不要求连续,但顺序必须保持一致。

状态定义:dp[i][j] 表示前 i 个字符的第一个序列和前 j 个字符的第二个序列的最长公共子序列的长度。

3 . 打家劫舍 (House Robber)

Leetcode 198. 打家劫舍 动态规划

Leetcode 213. 打家劫舍 II 动态规划

Leetcode 740. 删除并获得点数 DP

问题描述:一排房子,每个房子内有一定金额。相邻的两间房子不能同时抢劫,求可以抢劫的最大金额。

状态定义:dp[i] 表示抢劫前 i 个房子的最大金额。

4 . 斐波那契数列 (Fibonacci Sequence)

Leetcode 509. 斐波那契数 递归 / 动态规划

Leetcode 1137. 第 N 个泰波那契数

问题描述:斐波那契数列是一个常见的递推序列,其定义为: F(0)=0,F(1)=1,F(n)=F(n−1)+F(n−2) for n ≥2
状态定义:dp[i] 表示斐波那契数列的第 i 项。

5. 爬楼梯问题 (Climbing Stairs)

Leecode 70. 爬楼梯 DP/矩阵快速幂

Leetcode 746. 使用最小花费爬楼梯

问题描述:一个人每次可以爬 1 步或 2 步,问有多少种不同的方式爬到第 n 阶楼梯。

状态定义:dp[i] 表示爬到第 i 阶楼梯的不同方法数。

6. 从矩阵的左上角到右下角

Leetcode 64. 最小路径和 动态规划+空间优化

Leetcode 62. 不同路径 动态规划+空间优化

Leetcode 63. 不同路径 II 动态规划

问题描述:一个人从矩阵grid的左上角到右下角的路径总数 / 最小路径和

状态定义:dp[i][j] 表示到grid[i][j]的路径总数 / 最小路径和。

7. 硬币找零问题 (Coin Change Problem)

Leetcode 322. 零钱兑换 动态规划

Leetcode 518. 零钱兑换 II 动态规划

问题描述:给定一定面额的硬币和一个金额,求最少需要多少硬币来组成该金额。可以使用每种硬币多次。

状态定义:dp[i] 表示组成金额 i 所需的最小硬币数。

8.矩阵

Leetcode 120. 三角形最小路径和 动态规划

Leetcode 931. 下降路径最小和 动态规划

Leetcode 221. 最大正方形 动态规划

9.字符串

Leetcode 5. 最长回文子串 经典动态规划

问题描述:求一个字符串中最长的回文子串(回文是指正读和反读都相同的字符串)。
状态定义:构造一个二维数组 dp,其中 dp[i][j] 表示子串 s[i…j] 是否是回文串。当 s[i] == s[j],s[i…j] 是否为回文取决于去掉首尾字符后的子串 s[i+1…j-1] 是否为回文,即 dp[i][j] = dp[i+1][j-1]。

Leetcode 139. 单词拆分 动态规划

问题描述:给定一个字符串 s 和一个单词字典 wordDict(包含若干不重复的单词),判断字符串 s 是否可以被拆分为一个或多个在字典中出现的单词的组合。
状态定义:定义一个布尔数组 dp,其中 dp[i] 表示字符串 s[0…i-1] 是否可以被拆分成字典中的单词。字符串 s 的前 i 个字符是否能被拆分的问题可以理解为:如果存在一个位置 j(0 ≤ j < i),使得dp[j] = true(s[0…j-1] 可被拆分),并且s[j…i-1] 是字典中的单词。

Leetocde516. 最长回文子序列 动态规划

问题描述:给一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。
状态定义:定义 dp[i][j] 表示字符串 s 中第 i 到第 j 个字符之间的最长回文子序列长度。若 s[i] == s[j]:dp[i][j] = dp[i+1][j-1] + 2,若 s[i] != s[j]:dp[i][j] = max(dp[i+1][j], dp[i][j-1])

10. 编辑距离 (Edit Distance)

Leetcode 72. 编辑距离 动态规划

问题描述:给定两个字符串,求将一个字符串转化为另一个字符串的最小操作次数。允许的操作有插入、删除和替换字符。

状态定义:dp[i][j] 表示将字符串 A[0…i-1] 转化为 B[0…j-1] 的最小操作次数。

11.背包问题 (Knapsack Problem)

Leetcode 279. 完全平方数 动态规划 完全背包问题

Leetcode 377. 组合总和 Ⅳ 动态规划

Leetcode 474. 一和零 多重背包问题,动态规划

问题描述:给定一些物品,每个物品有一个重量和一个价值,以及一个背包的容量。问如何选择物品,使得在不超过背包容量的情况下,物品的总价值最大化。

类型:

0/1 背包:每个物品只能选择一次。
完全背包:每个物品可以选择多次。
多重背包:每个物品有一个数量限制。
状态定义:dp[i][w]表示前 i 个物品,且总重量不超过 w 的最大价值。

Leetcode 300. 最长递增子序列 动态规划 / 贪心 + 二分查找

Leetcode 673. 最长递增子序列的个数 动态规划 / 贪心 + 二分查找

Leetcode 2140. 解决智力问题 动态规划

Leetcode 91. 解码方法 动态规划

Leetcode 983. 最低票价 动态规划

二分

Leetcode 704. 二分查找

Leetcode 69. x 的平方根 二分

Leetcode 374. 猜数字大小 二分

Leetcode 33. 搜索旋转排序数组 二分

Leetcode 278. 第一个错误的版本 二分

Leetcode 34. 在排序数组中查找元素的第一个和最后一个位置 二分

Leetcode 162. 寻找峰值 二分

Leetcode 658. 找到 K 个最接近的元素 二分

指针

Leetcode 15. 三数之和 排序+双指针

Leetcode 144. 二叉的前序遍历 递归/迭代/Morris遍历

leetcode 94. 二叉的中序遍历 递归/迭代/Morris 遍历

Leetcode 145. 二叉的后序遍历 递归/迭代

Leetcode 102. 二叉的层序遍历 BFS

Leetcode 104. 二叉的最大深度 BFS / 递归

Leetcode 101. 对称二叉 递归 / 队列迭代

Leetcode 112. 路径总和

Leetcode 106. 从中序与后序遍历序列构造二叉 递归

Leetcode 105. 从前序与中序遍历序列构造二叉 递归


http://www.ppmy.cn/devtools/151489.html

相关文章

[Qt]常用控件介绍-布局管理器-QVBoxLayout、QHBoxLayout、QGridLayout、QFormLayout、QSpace控件

目录 1.布局管理器 2.垂直布局-VBoxLayout控件 核心属性 核心方法 细节 布局管理器使用前后的界面变化 两个布局管理器的设定 3.水平布局-HBoxLayout控件 核心属性 垂直和水平管理器的嵌套使用 4.网格布局-GridLayout控件 核心属性 细节 SizePolicy属性 使用案例…

【Docker】——安装Docker以及解决常见报错

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大二学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…

Web3与加密技术的结合:增强个人隐私保护的未来趋势

随着互联网的快速发展&#xff0c;个人隐私和数据安全问题越来越受到关注。Web3作为新一代互联网架构&#xff0c;凭借其去中心化的特性&#xff0c;为个人隐私保护提供了全新的解决方案。而加密技术则是Web3的重要组成部分&#xff0c;进一步增强了隐私保护的能力。本文将探讨…

Java-数据结构-二叉树习题(1)

对于二叉树的学习&#xff0c;主要的还是得多多练习~毕竟二叉树属于新的知识&#xff0c;并且也并不是线性结构&#xff0c;再加上经常使用递归的方法解决二叉树的问题&#xff0c;所以代码的具体流程还是无法看到的&#xff0c;只能通过画图想象&#xff0c;所以还是必须多加练…

wow-agent---task2使用llama-index创建Agent

一&#xff1a;创造俩个函数&#xff0c;multiply和add作为fuction calling被LLM当做工具来使用&#xff0c;实现计算一个简单的计算题&#xff1a; from llama_index.llms.ollama import Ollama from llama_index.core.agent import ReActAgent from llama_index.core.tools …

阿里云 EMR 发布托管弹性伸缩功能,支持自动调整集群大小,最高降本60%

开源大数据平台 E-MapReduce&#xff08;简称“EMR”&#xff09;是云原生开源大数据平台&#xff0c;为客户提供简单易集成的Hadoop、Hive、Spark、StarRocks、Flink、Presto等开源大数据计算和存储引擎。 EMR on ECS是指EMR在ECS上运行的方式。EMR on ECS将EMR的大数据处理功…

JAVA实现五子棋小游戏(附源码)

文章目录 一、设计来源捡金币闯关小游戏讲解1.1 主界面1.2 黑棋胜利界面1.3 白棋胜利界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载更多优质源码分享 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/145161039 JA…

窥探QCC518x/308x系列与手机之间的蓝牙HCI记录与分析 - 手机篇

今天要介绍给大家的是, 当我们在开发高通耳机时如果遇到与手机之间相容性问题, 通常会用Frontline或Ellisys的Bluetooth Analyzer来截取资料分析, 如果手边没有这样的仪器, 要如何窥探Bluetooth的HCI log.这次介绍的是手机篇. 这次跟QCC518x/QCC308x测试的手机是Samsung S23 U…