E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
LeetCode#动态规划
华为OD机试 - 取零食 -
动态规划
(Python/JS/C/C++ 2024 E卷 100分)
2025华为OD机试题库(按算法分类):2025华为OD统一考试题库清单(持续收录中)以及考点说明(Python/JS/C/C++)。专栏导读本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随
哪 吒
·
2025-07-09 06:42
华为od
动态规划
python
深入DP!!!!!!!!!!!!!!-----------------------“DP就像人生:你的当前状态由过去的选择决定,而你的选择将影响未来状态。定义好你的状态转移方程,找到最优的人生路径!“
"
动态规划
不是魔法,而是将大问题拆解成小问题的艺术"——一位ACMer的深夜顿悟暑假集训我们过关斩将,来到了线性
动态规划
和前缀优化这里,不好,是让人心惊胆战的DP!!!
zwenqiyu
·
2025-07-08 21:48
算法
三种方法详解最长回文子串问题
文章目录题目描述方法一:
动态规划
状态转移方程:状态转移公式:代码实现:使用滚动数组优化空间方法二:中心扩展法核心思想算法步骤代码实现复杂度分析方法三:马拉车算法算法思路代码实现复杂度分析三种方法对比回文子串是字符串处理中的经典问题
·
2025-07-08 10:33
力扣第 70 题:爬楼梯问题(Climbing Stairs)
二、解题思路这个问题可以用递归+记忆化的方式解决,本质是一个
动态规划
问题。1.状态定义定义dp[i]dp[i]dp[i]表示爬到第iii级台阶的方法数。2.状态转移方程
·
2025-07-08 10:32
力扣第70题 爬楼梯 c++
动态规划
基础题
题目70.爬楼梯简单相关标签记忆化搜索数学
动态规划
假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?
·
2025-07-08 09:01
算法45:
动态规划
专练(力扣70: 爬楼梯 力扣746:使用最小花费爬楼梯)
力扣70题:爬楼梯假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?示例1:输入:n=2输出:2解释:有两种方法可以爬到楼顶。1.1阶+1阶2.2阶示例2:输入:n=3输出:3解释:有三种方法可以爬到楼顶。1.1阶+1阶+1阶2.1阶+2阶3.2阶+1阶分析:1.如果有1个楼梯,那只能走1步登顶。1中方法2.如果有2个楼梯。a.我们可以一次走一
适合java程序员的算法
·
2025-07-08 09:00
算法
算法
动态规划
leetcode
【一起来学AI大模型】算法核心:数组/哈希表/树/排序/
动态规划
(LeetCode精练)
以下是五大核心算法的重点解析和LeetCode经典题解,包含最优解法和模板代码:一、数组操作(双指针/滑动窗口)核心思想:通过索引指针高效遍历与操作数组1.移动零(No.283)defmoveZeroes(nums):slow=0forfastinrange(len(nums)):ifnums[fast]!=0:nums[slow],nums[fast]=nums[fast],nums[slow]
运器123
·
2025-07-08 00:16
AI大模型
python
开发语言
人工智能
AI
AI编程
算法
散列表
区间
动态规划
目录一.区间dp简介二.模板代码三.典型例题(1)P4170[CQOI2007]涂色-洛谷三.总结一.区间dp简介区间dp:就是对于区间的一种
动态规划
,它将问题划分为若干个子区间,并通过定义状态和状态转移方程来求解每个子区间的最优解
Luther coder
·
2025-07-07 04:27
动态规划
算法
贪心算法 greedy algorithm
贪心算法和
动态规划
都常用于解决优化问题。它们之间存在一些相似之处,比如都依赖最优子结构性质,但工作原理不同。
动态规划
会根据之前阶段的所有决策来考虑当前决策,并使用过去
yuebo_zhao
·
2025-07-07 02:45
算法
c++
数据结构
(包括高精度,排序,枚举,二分,搜索,
动态规划
等)
【归纳】C++入门算法模版总结(包括高精度,排序,枚举,二分,搜索,
动态规划
等)(超级详细!!!)0.前言1.高精度1.1.单独实现1.1.1.高精度加法1.1.2.高精度
·
2025-07-06 22:45
最长回文子串-leetCode-005
针对这个问题,共有四种解法,分别是暴力法,中心拓展法,
动态规划
,Manacher算法解法一:暴力法思路:枚举所有可能的子串,然后判断每个子串是否是回文串,最后找出最长的回文子串。
·
2025-07-06 20:03
2025年- H93-Lc201-- 64.最小路径和(多维
动态规划
)--Java版
1.题目描述2.思路(1)dp含义:dp[i][j]以i-1的word1字符串和j-1的word2字符串的最少操作次数。(2)递推公式:1)word1[i-1]和word2[j-1]相等的情况此时的字符串是不需要操作,i-2和j-2的操作次数与(i-1和j-1)的操作次数相等dp[i][j]=dp[i-1][j-1]2)word1[i-1]和word2[i-1]不相等的情况删除和添加是互逆的,操作
豆包版:每天进步一点点
·
2025-07-06 20:29
java
leetcode
动态规划
java
算法
算法理论知识
算法理论知识排序二分查找冒泡排序插入排序选择排序快速排序堆排序希尔排序归并排序基数排序
动态规划
排序二分查找start=0end=len(list)mid=(start+end)//2冒泡排序每次都是相邻元素两两比较并交换位置
Victor Zhong
·
2025-07-06 19:53
AI
框架
算法
最长公共子序列(多维
动态规划
)--Java版
1.题目描述2.思路每个格子dp[i][j]都表示:从字符串开头开始,分别取前i个字符和前j个字符之间的最优子结构(最长公共子序列的长度)最终的dp[m][n]表示的就是:“从头到尾整个text1和text2的最长公共子序列长度”。答:不需要,因为我们构造dp[i][j]的时候,就是按“从左上到右下”的顺序,逐步比较两个字符串的公共子序列长度。3.代码实现classSolution{publici
·
2025-07-06 19:20
动态规划
、背包问题入门
目录1、
动态规划
定义2、数塔问题题目描述:思路:代码实现:3、最长有序子序列问题描述:代码实现:
动态规划
基本思想特点4、背包问题①01背包问题空间复杂度优化②完全背包③多重背包二进制优化④二维费用背包1
2303_Alpha
·
2025-07-06 18:38
动态规划
代理模式
算法
笔记
c语言
力扣网编程121题:买卖股票的最佳时机之
动态规划
(简单)
一.简介前一篇文章使用贪心算法实现了力扣网上121题:买卖股票的最佳时机,文章如下:力扣网编程189题:买卖股票的最佳时机之贪心算法(简单)-CSDN博客本文使用
动态规划
实现该题目。
魏劭
·
2025-07-06 17:30
逻辑编程题
C语言
leetcode
动态规划
算法
[力扣]第55题- 跳跃游戏[
动态规划
]
[力扣]第55题-跳跃游戏[
动态规划
]本题的难度较低,需要考虑的情况比较少。
卡瓦博格-
·
2025-07-06 17:28
力扣记录
leetcode
算法
职场和发展
【
动态规划
】一次性整理子序列问题题型系列,八个例题实战详细解析 (包含我自己精心整理的
动态规划
解题思路)
前言最近刷了子序列系列的题型,一共八个力扣题,这里对子序列问题进行一个简单的总结,全是
动态规划
的解法,当然里边有些题选有更优的解法。
ngioig
·
2025-07-06 09:27
动态规划
leetcode
算法
职场和发展
后端
gesp c++ 七级知识点
以下是根据GESPC++七级考试大纲的超详细知识点解析与代码实现,涵盖数学函数、复杂
动态规划
、图论算法、哈希表等核心内容,每个知识点均包含概念说明、应用场景、使用方法、优缺点及完整代码示例。
·
2025-07-05 15:27
代码随想录算法训练营第34天 | 第九章
动态规划
part07
文章目录第九章
动态规划
Part07198.打家劫舍213.打家劫舍II337.打家劫舍III第九章
动态规划
Part07今天是打家劫舍的一天,这个系列题目不算难,大家可以一口气拿下。
tt555555555555
·
2025-07-05 12:34
C++学习
算法
动态规划
代码随想录算法训练营第四十三天|
动态规划
part10
300.最长递增子序列题目链接:代码随想录文章讲解:代码随想录错误解答:dp[i]表示前i个元素的最长递增子序列的长度classSolution{public:intlengthOfLIS(vector&nums){vectordp(nums.size(),0);dp[0]=1;intlastnum=nums[0];for(inti=1;ilastnum){lastnum=nums[i];dp[i
xindafu
·
2025-07-05 12:04
动态规划
算法
代码随想录算法训练营第四十四天|
动态规划
part11
1143.最长公共子序列题目链接:1143.最长公共子序列-力扣(LeetCode)文章讲解:代码随想录思路:其实就是求两个字符串的最长公共子序列的长度与公共子数组的区别是可以不连续,顺序对就可以状态转移方程不一样定义dp[i][j]表示text1的0到i-1与text2的0到j-1的最长公共子序列的长度text1[i-1]==text2[j-1]dp[i][j]=dp[i-1][j-1]+1否则
·
2025-07-05 12:04
代码随想录算法训练营第四十五天|
动态规划
part12
115.不同的子序列题目链接:115.不同的子序列-力扣(LeetCode)文章讲解:代码随想录定义dp[i][j]表示s0-i-1与t0-j-1不同的子序列的个数以s=batgtgt=bag为例子s【4】!=t【3】所以dp[5][4]=dp[4][4]也就是不考虑s[4]继续往后s[5]==t[3]也就是s[5]跟t【3】配对上了batgt与bag配对的个数加上batgt与ba配对的个数dp[
xindafu
·
2025-07-05 12:04
算法
动态规划
代码随想录算法训练营第三十七天|
动态规划
part4
1049.最后一块石头的重量II题目链接:1049.最后一块石头的重量II-力扣(LeetCode)文章讲解:代码随想录思路:理解为把石头分成两堆使得两堆的差值尽可能小求这个最小值1理解为往背包里装物品每个物品的重量为石头的重量价值也为石头的价值dp[i][j]表示从0-i块石头往容量为j的包里装的最大价值状态转移:dp[i][j]=max(dp[i-1][j],dp[i-1][j-cost[i]
·
2025-07-05 12:34
代码随想录算法训练营第四十六天 |
动态规划
part13
647.回文子串classSolution{public:intcountSubstrings(strings){vector>dp(s.size(),vector(s.size(),false));intresult=0;for(inti=s.size()-1;i>=0;i--){for(intj=i;j=j-1){dp[i][j]=true;result++;}elseif(dp[i+1][j
sagen aller
·
2025-07-05 12:01
算法
动态规划
代码随想录算法训练营第四十六天|
动态规划
part13
647.回文子串题目链接:647.回文子串-力扣(LeetCode)文章讲解:代码随想录思路:以dp【i】表示以s【i】结尾的回文子串的个数,发现递推公式推导不出来此路·不通以dp【i】【j】表示s【i】到s【j】的回文子串的个数,递推公式也推不出正确dp【i】【j】表示s【i】到s【j】是否为回文串确定递归顺序:dp【i】【j】依赖于dp【i+1】【j-1】因此i从后往前遍历,j从前往后遍历则最
xindafu
·
2025-07-05 12:28
算法
动态规划
【华为od刷题(C++)】HJ16 购物单(
动态规划
、0-1 背包问题、二维数组)
我的代码:#include#include#include//包含向量库,程序中的数据结构主要使用了vector来存储和处理数据usingnamespacestd;intmain(){intN,m;//N是背包的容量(单位是10),m是物品的数量cin>>N>>m;vector>v(m+1,vector(3,0));/*该行代码创建了一个二维vector,总共有m+1行,每行有3个元素,且每个元素
·
2025-07-04 21:26
leetcode
动态规划
—子序列系列
刷完之后,写的总结经验1、首先是子序列问题、子串问题、子数组问题,一定要搞清楚dp数组里是否是严格结尾2、其次是dp数组的定义,可以为了方便初始化而特殊处理定义一下lc300最长递增子序列初始化为1而非0,因为最长递增子序列最短为1无需连续,则可以从前面任意字串尾部续上,需要遍历以【0】-【i-1】为结尾的字串最后输出的是dp[0]~dp[n-1]中的最大值classSolution:deflen
·
2025-07-04 17:58
【学习】《算法图解》第十三章学习笔记:接下来如何做
在前面的章节中,我们已经学习了许多基础而重要的算法,从二分查找、快速排序到广度优先搜索、迪杰斯特拉算法,再到
动态规划
、K近邻算法等。现在,是时候思考如何继续深入学习,拓展我们的算法知识体系了。
·
2025-07-04 17:27
程序员
2025B卷 - 华为OD机试七日集训第5期 - 按算法分类,由易到难,循序渐进,玩转OD(Python/JS/C/C++)
第1天、逻辑分析第2天、逻辑分析第3天、逻辑分析第4天、字符串处理第5天、深度优先搜索dfs第6天、广度优先搜索bfs第7天、
动态规划
六、集训总结国内直接使用ChatGPT4o、o3、o4-mini-high
·
2025-07-04 06:40
【牛客刷题HJ16】购物单
目录一、题目描述二、题目分析1、题目理解2、题目分析(1)首先,将物品类准备好(2)然后,对v、p、q进行初始化(3)对
动态规划
数组进行赋值(填表)三、总结一、题目描述来源:购物单_牛客题霸_牛客网二、
the_sunshine6
·
2025-07-04 06:36
牛客
华为机试
动态规划
java
算法
动态规划
intellij-idea
【DP
动态规划
】最大字段和
最大字段和算法:DP
动态规划
题目描述最大子段和问题是一个经典的算法问题,它要求在一个可能包含负整数的序列中找到一个连续子段,使得这个子段的整数和最大。
深海潜水员
·
2025-07-03 12:07
动态规划
算法
最大子数组和——(解法二)
动态规划
它采用的是一种非常经典且标准的
动态规划
xumistore
·
2025-07-02 22:22
LeetCode
leetcode
动态规划
算法
java
【学习】《算法图解》第十一章学习笔记:
动态规划
一、
动态规划
概述
动态规划
(DynamicProgramming,简称DP)是一种通过将复杂问题分解为更简单的子问题来解决问题的方法。
·
2025-07-02 19:47
程序员
Day52|
动态规划
part13:300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
子序列问题是
动态规划
解决的经典问题300.最长递增子序列首先我们明确一下子序列的定义,子序列与子串(必须要连续)不同,子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。
QHG7C0
·
2025-07-02 17:41
数据结构与算法(二刷)
动态规划
算法
剑指offer-8、跳台阶
因此答案为2示例2输⼊:7输出:21示例3:输⼊:0输出:0思路及解答
动态规划
这题和第7题斐波那契数列基本类似,只是换了一个题目表达方式。青蛙跳到第n级台阶的跳法数dp[i]取决
·
2025-07-02 11:09
后端java
【算法】
动态规划
斐波那契类型: 740. 删除并获得点数
740.删除并获得点数中等题目给你一个整数数组nums,你可以对它进行一些操作。每次操作中,选择任意一个nums[i],删除它并获得nums[i]的点数。之后,你必须删除所有等于nums[i]-1和nums[i]+1的元素。开始你拥有0个点数。返回你能通过这些操作获得的最大点数。示例1:输入:nums=[3,4,2]输出:6解释:删除4获得4个点数,因此3也被删除。之后,删除2获得2个点数。总共获
·
2025-07-02 11:01
【算法】
动态规划
斐波那契类型: 198. 打家劫舍
198.打家劫舍中等你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。示例1:输入:[1,2,3,1]输出:4解释:偷窃1号房屋(金额=1),然后偷窃3号房屋(金
等风来不如迎风去
·
2025-07-02 11:00
算法/数据结构
算法
leetcode
动态规划
LeetCode第300题_最长递增子序列
LeetCode第300题:最长递增子序列文章摘要本文详细解析LeetCode第300题"最长递增子序列",这是一道考察
动态规划
和二分查找的中等难度题目。
@蓝莓果粒茶
·
2025-07-02 07:58
算法
leetcode
算法
职场和发展
学习
c#
游戏
python
动态规划
1:爬楼梯问题
1.看力扣这道题2.我们可以把楼梯数简化出来输入012345输出1123583.不难看出,其实就是斐波那契数列,这种题有两种解法,一种是递归,另一种则是
动态规划
4.
动态规划
可以节约时间复杂度5.下面请看解法
追梦_逐影
·
2025-07-02 02:20
动态规划
算法
LeetCode 70:爬楼梯|递归到
动态规划
全路径解析
本篇博客将通过LeetCode第70题“ClimbingStairs”为例,系统讲解从递归暴力解法到记忆化搜索、再到
动态规划
及空间优化的四种典型思路,适合算法初学者深入掌握递归与DP基础。
kiki_2411
·
2025-07-02 02:19
算法设计与分析
leetcode
动态规划
算法
【力扣—剑指 Offer(第 2 版)简单题目解析汇总】
【力扣—剑指Offer(第2版)简单题目解析汇总】说明1、基本字符串数组数组-排序矩阵/模拟枚举2、算法
动态规划
深度优先搜索广度优先搜索递归分治记忆化搜索快速选择二分查找3、基础数据结构树(二叉树)二叉搜索树栈队列堆
Wupke
·
2025-07-01 13:53
剑指offer
数据结构与算法学习
LeetCode
leetcode
剑指offer
数据结构与算法
Leetcode 3599. Partition Array to Minimize XOR
Leetcode3599.PartitionArraytoMinimizeXOR1.解题思路2.代码实现题目链接:3599.PartitionArraytoMinimizeXOR1.解题思路这一题就是一个
动态规划
的思路
Espresso Macchiato
·
2025-06-29 22:13
leetcode笔记
leetcode
3599
leetcode
medium
leetcode周赛456
动态规划
动态规划
之01背包问题
动态规划
算法
动态规划
算法介绍
动态规划
(DynamicProgramming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法
动态规划
算法与分治法类似,其基本思想也是将待解决问题分解成若干个子问题
蓝澈1121
·
2025-06-29 05:09
数据结构与算法
动态规划
算法
java
1911. 最大交替子序列和
子序列的最大交替和—
动态规划
详解题目描述给定一个数组nums,定义其交替和为:数组中偶数下标元素之和减去奇数下标元素之和(下标从0开始)。
Joyner2018
·
2025-06-28 23:18
python
算法
leetcode
开发语言
python
力扣网C语言编程题:接雨水(双指针法)
一.简介前面文章是以
动态规划
方法实现的,文章如下:力扣网C语言编程题:接雨水(
动态规划
实现)-CSDN博客本文继续针对力扣网的接雨水问题,以另一种解题思路(双指针)以C语言实现和Python实现。
魏劭
·
2025-06-28 10:16
逻辑编程题
C语言
c语言
leetcode
算法
《python算法与数据结构2000讲》0639. 解码方法 II
《python算法与数据结构2000讲》0639.解码方法II标签:字符串、
动态规划
难度:困难题目大意描述:给定一个包含数字和字符'*'的字符串s。
IT狂飙
·
2025-06-27 23:10
python
算法
数据结构
【力扣 中等 C】264. 丑数 II
目录题目解法一:
动态规划
题目解法一:
动态规划
intmin(inta,intb){returna
黑听人
·
2025-06-27 23:38
c语言
leetcode
数据结构
算法
开发语言
【力扣 困难 C】940. 不同的子序列 II
目录题目解法一:
动态规划
题目待添加解法一:
动态规划
intdistinctSubseqII(char*s){intdp[26]={0};intcnt=1;intlen=strlen(s);for(inti
黑听人
·
2025-06-27 09:08
c语言
leetcode
数据结构
算法
开发语言
【力扣 中等 C】983. 最低票价
目录题目解法一:
动态规划
题目解法一:
动态规划
intmin(inta,intb){returnatarget){index=mid;right=mid-1;}else{returnmid;}}returnindex
黑听人
·
2025-06-27 00:00
c语言
leetcode
数据结构
算法
开发语言
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他