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
LQB算法训练
代码随想录
算法训练
营第22天|235. 二叉搜索树的最近公共祖先|701.二叉搜索树中的插入操作|450.删除二叉搜索树中的节点
235.二叉搜索树的最近公共祖先题目描述:给定一个二叉搜索树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个结点p、q,最近公共祖先表示为一个结点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”链接:https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary
永不服输的锐锐米
·
2024-02-01 20:45
数据结构
代码随想录
算法训练
营第二十二天|235.二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点
文档讲解:BST,各种插入删除操作235.二叉搜索树的最近公共祖先思路:昨天练习了二叉树的搜索,今天这道题是二叉搜索树的搜索,其具有有序这个特点,其能决定我们每次搜索是进入该节点的左子树还是右子树,而且其具有一个特点,一旦要搜索的节点p和节点q不存在同一个子树中,那么此时的root一定是他们两个的最近公共祖先!时间复杂度:O(n)空间复杂度:O(n)classSolution{public:Tre
y_wang09
·
2024-02-01 20:14
算法
数据结构
代码随想录
算法训练
营第二十三天| LeetCode669. 修剪二叉搜索树、LeetCode108. 将有序数组转换为二叉搜索树、LeetCode538. 把二叉搜索树转换为累加树
一、LeetCode669.修剪二叉搜索树1:题目描述(669.修剪二叉搜索树)给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在[low,high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在唯一的答案。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可
喵
·
2024-02-01 20:58
算法训练营(LeetCode)
算法
leetcode
python
二叉树
代码随想录
算法训练
营第23天 | LeetCode669. 修剪二叉搜索树,108.将有序数组转换为二叉搜索树,538.把二叉搜索树转换为累加树
@代码随想录
算法训练
营第23天|LeetCode669.修剪二叉搜索树,108.将有序数组转换为二叉搜索树,538.把二叉搜索树转换为累加树669.修剪二叉搜索树第一遍读题思考首先终止条件就是node为
zheng_RL_0003
·
2024-02-01 20:57
算法
leetcode
数据结构
代码随想录
算法训练
营第23天(二叉树9 | ● 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树 ● 总结篇
二叉树9669.修剪二叉搜索树解题思路108.将有序数组转换为二叉搜索树解题思路538.把二叉搜索树转换为累加树解题思路总结篇669.修剪二叉搜索树这道题目比较难,比添加增加和删除节点难的多,建议先看视频理解。题目链接/文章讲解:669.修剪二叉搜索树视频讲解:669.修剪二叉搜索树解题思路直接想法就是:递归处理,然后遇到root.valhigh的时候直接returnNULL但是存在要删除节点的孩
芋泥肉松脑袋
·
2024-02-01 20:57
算法
数据结构
java
leetcode
_20LeetCode代码随想录
算法训练
营第二十天-C++二叉树 | 669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
_20LeetCode代码随想录
算法训练
营第二十天-C++二叉树|669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树题目列表669.修剪二叉搜索树108.将有序数组转换为二叉搜索树
Jasmine-Lily
·
2024-02-01 20:27
Algorithms
算法
c++
leetcode
修剪二叉搜索树(中等)——代码随想录
算法训练
营Day23
题目链接:669.修剪二叉搜索树题目描述给你二叉搜索树的根节点root,同时给定最小边界low和最大边界high。通过修剪二叉搜索树,使得所有节点的值在[low,high]中。修剪树不应该改变保留在树中的元素的相对结构(即,如果没有被移除,原有的父代子代关系都应当保留)。可以证明,存在唯一的答案。所以结果应当返回修剪好的二叉搜索树的新的根节点。注意,根节点可能会根据给定的边界发生改变。示例1:输入
晴雪月乔
·
2024-02-01 20:55
代码随想录算法训练营
#
LeetCode
二叉树
算法
代码随想录算法训练营
leetcode
二叉树
代码随想录
算法训练
营第二十二天|Leetcode 669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
文档讲解:代码随想录视频讲解:你修剪的方式不对,我来给你纠正一下!|LeetCode:669.修剪二叉搜索树_哔哩哔哩_bilibili构造平衡二叉搜索树!|LeetCode:108.将有序数组转换为二叉搜索树_哔哩哔哩_bilibili普大喜奔!二叉树章节已全部更完啦!|LeetCode:538.把二叉搜索树转换为累加树_哔哩哔哩_bilibili第21天,抽空赶紧补一补。669.修剪二叉搜索树
Sui_han
·
2024-02-01 20:23
算法
leetcode
数据结构
代码随想录
算法训练
营第二十天| ● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树
二叉搜索树特性:中序序列严格递增654.最大二叉树思路:理解题意,找到数组最大值,其左元素为左子树,其右元素为右子树特殊情况:代码实现classSolution{public:intfindMax(constvector&nums,intleft,intright){if(left>right)-1;intmaxNum=nums[left];intmaxIndex=left;for(inti=le
heitong_fu
·
2024-02-01 19:19
算法
数据结构
leetcode
代码随想录
算法训练
营第二十一天| 530.二叉搜索树的最小绝对差 501.二叉搜索树中的众数 236. 二叉树的最近公共祖先
二叉搜索树:中序序列严格递增530.二叉搜索树的最小绝对差思路:根据二叉搜索树中序遍历为严格递增序列,pre是当前节点root的左节点,或者root是pre的右节点,是递增关系特殊情况:代码实现classSolution{public:TreeNode*pre;intMinde=INT_MAX;intgetMinimumDifference(TreeNode*root){if(root==NULL
heitong_fu
·
2024-02-01 19:19
算法
leetcode
数据结构
代码随想录
算法训练
营第二十二天|235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点
235.二叉搜索树的最近公共祖先发现规律:当我们从上向下去递归遍历,第一次遇到cur节点是数值在[p,q]区间中,那么cur就是p和q的最近公共祖先。classSolution{public:TreeNode*lowestCommonAncestor(TreeNode*root,TreeNode*p,TreeNode*q){if(root==NULL)returnNULL;if((p->val>=
heitong_fu
·
2024-02-01 19:19
算法
数据结构
代码随想录
算法训练
营第十八天| 513.找树左下角的值 ● 112. 路径总和 ● 106.从中序与后序遍历序列构造二叉树
层序遍历、回溯·、由两种遍历序列逆推二叉树513.找树左下角的值思路:使用层序遍历,只需要记录最后一行第一个节点的数值就可以了。特殊情况:代码实现classSolution{public:intfindBottomLeftValue(TreeNode*root){intval;//利用队列先进先出实现层序遍历queueque;que.push(root);while(!que.empty()){T
heitong_fu
·
2024-02-01 19:47
算法
数据结构
@ 代码随想录
算法训练
营第6周(C语言)|Day35(贪心)
@代码随想录
算法训练
营第6周(C语言)|Day35(贪心)Day35、贪心(包含题目●860.柠檬水找零●406.根据身高重建队列●452.用最少数量的箭引爆气球)860.柠檬水找零题目描述在柠檬水摊上
a name easy to remember
·
2024-02-01 18:32
算法
c语言
开发语言
@ 代码随想录
算法训练
营第三周(C语言)|Day16(二叉树)
@代码随想录
算法训练
营第三周(C语言)|Day16(二叉树)Day16、二叉树(包含题目104.二叉树的最大深度111.二叉树的最小深度222.完全二叉树的节点个数)104.二叉树的最大深度题目描述给定一个二叉树
a name easy to remember
·
2024-02-01 18:02
算法
c语言
数据结构
@ 代码随想录
算法训练
营第一周(C语言)|Day3(链表)
@代码随想录
算法训练
营第一周(C语言)|Day3(链表)Day3、链表(包含题目203.移除链表元素707.设计链表206.反转链表)203.移除链表元素题目描述题意:删除链表中等于给定值val的所有节点
a name easy to remember
·
2024-02-01 18:02
算法
c语言
链表
@ 代码随想录
算法训练
营第5周(C语言)|Day27(回溯)
@代码随想录
算法训练
营第5周(C语言)|Day27(回溯)Day27、回溯(包含题目39.组合总和40.组合总和II131.分割回文串)39.组合总和题目描述给定一个无重复元素的数组candidates
a name easy to remember
·
2024-02-01 18:02
算法
c语言
数据结构
@ 代码随想录
算法训练
营第6周(C语言)|Day34(贪心)
@代码随想录
算法训练
营第6周(C语言)|Day34(贪心)Day34、贪心(包含题目1005.K次取反后最大化的数组和134.加油站135.分发糖果)1005.K次取反后最大化的数组和题目描述给定一个整数数组
a name easy to remember
·
2024-02-01 18:02
算法
c语言
数据结构
代码随想录
算法训练
营第一周(C语言与Python实现)|Day01-04(数组与链表)
@代码随想录
算法训练
营第二周(C语言与Python实现)|Day06(哈希表)。
a name easy to remember
·
2024-02-01 18:31
算法
c语言
python
@ 代码随想录
算法训练
营第三周(C语言)|Day13(栈与队列)
@代码随想录
算法训练
营第三周(C语言)|Day13(栈与队列)Day13、栈与队列(包含题目239.滑动窗口最大值347.前K个高频元素)239.滑动窗口最大值题目描述给定一个数组nums,有一个大小为
a name easy to remember
·
2024-02-01 18:31
算法
c语言
数据结构
@ 代码随想录
算法训练
营第6周(C语言)|Day36(贪心)
@代码随想录
算法训练
营第6周(C语言)|Day36(贪心)Day36、贪心(包含题目●435.无重叠区间●763.划分字母区间●56.合并区间)435.无重叠区间题目描述给定一个区间的集合,找到需要移除区间的最小数量
a name easy to remember
·
2024-02-01 18:28
算法
c语言
开发语言
C#代码随想录
算法训练
营day8|字符串
LeetCode344反转字符串题目描述:编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)的额外空间解决这一问题。示例1:输入:s=[“h”,“e”,“l”,“l”,“o”]输出:[“o”,“l”,“l”,“e”,“h”]示例2:输入:s=[“H”,“a”,“n”,“n”,“a”,“h”]输出:[“
逝念。
·
2024-02-01 14:24
算法训练营
算法
c#
leetcode
代码随想录
算法训练
营 DAY9 | 字符串专题
leetcode找出字符串中的第一个匹配项https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/classSolution{public:intstrStr(stringhaystack,stringneedle){returnhaystack.find(needle);}};解析:kmp学了
Revenge2322
·
2024-02-01 14:51
算法日记
leetcode
算法
职场和发展
代码随想录
算法训练
营DAY9|字符串2
算法训练
DAY9|字符串228.实现strStr()题目链接/文章讲解/视频讲解:代码随想录459.重复的子字符题目链接/文章讲解/视频讲解:代码随想录字符串总结题目链接/文章讲解:代码随想录双指针回顾文章讲解
XIAOHAIYOU
·
2024-02-01 14:20
算法
代码随想录
算法训练
营Day8 | 字符串part01
344.反转字符串leetcode链接代码随想录链接一刷状态:通过思路思路简单,从两边向中间遍历,交换两边的元素。classSolution{public:voidswap(char&a,char&b){chartemp=a;a=b;b=temp;}voidreverseString(vector&s){for(inti=0;i#includeusingnamespacestd;intmain()
锋_Feng
·
2024-02-01 14:19
算法
c++
leetcode
代码随想录
算法训练
营DAY8 | 字符串(1)
一、LeetCode344反转字符串题目链接:344.反转字符串https://leetcode.cn/problems/reverse-string/思路:双指针法交换。classSolution{publicvoidreverseString(char[]s){intn=s.length;intleft=0,right=n-1;while(left=2*k){right=left+k-1;re
橙南花已开
·
2024-02-01 14:18
代码随想录算法训练营
算法
leetcode
数据结构
代码随想录
算法训练
营29期Day34|LeetCode 1005,134,135
文档讲解:K次取反后最大化的数组和加油站分发糖果1005.K次取反后最大化的数组和题目链接:https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/description/思路:很简单,我们每次取数组中最小值取反即可。如果这个数是负数,那么对答案增益最多,如果最小值是整数,那么对答案损失最少。维护小根堆可以用优先队列
tlingyuqi
·
2024-02-01 11:04
代码随想录算法训练营29期
算法
leetcode
职场和发展
c++
代码随想录
算法训练
营day36 || 453. 无重叠区间,763.划分字母区间,435. 合并区间
视频讲解:贪心算法,依然是判断重叠区间|LeetCode:435.无重叠区间_哔哩哔哩_bilibili贪心算法,寻找最远的出现位置!LeetCode:763.划分字母区间_哔哩哔哩_bilibili贪心算法,合并区间有细节!LeetCode:56.合并区间_哔哩哔哩_bilibili453.无重叠区间思路:本题的要求是返回需要移除区间的最小数量,使剩余区间互不重叠,打好这道题可以使我们明确如何界
weixin_44316285
·
2024-02-01 10:45
算法
数据结构
@ 代码随想录
算法训练
营第5周(C语言)|Day31(贪心算法)
@代码随想录
算法训练
营第5周(C语言)|Day31(贪心算法)Day31、贪心算法(包含题目455.分发饼干376.摆动序列53.最大子序和)455.分发饼干题目描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干
a name easy to remember
·
2024-02-01 09:24
算法
c语言
贪心算法
算法训练
营day19,二叉树8-2
typeTreeNodestruct{ValintLeft*TreeNodeRight*TreeNode}450.删除二叉搜索树中的节点/*本题比较难,删除节点要分五种情况考虑1.没有找到要删除的节点2.找到要删除的节点是叶子节点3.找到要删除的节点,左指针不为空,右指针为空4.找到要删除的节点,左指针为空,右指针不为空5.找到要删除的节点,左指针不为空,右指针不为空,这种情况最复杂,需要调整二叉
weixin_50253985
·
2024-02-01 08:13
算法
代码随想录
算法训练
营第二十一天|530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236.二叉树的最近公共祖先
530.二叉搜索树的最小绝对差publicclassSolution{publicintGetMinimumDifference(TreeNoderoot){varq=newQueue();q.Enqueue(root);varan=newList();while(q.Count!=0){varsize=q.Count;while(size!=0){size--;varcur=q.Dequeue(
萌帅帅小明
·
2024-02-01 03:03
算法
c#
leetcode
数据结构
代码随想录
算法训练
营第二十天|654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树
654.最大二叉树递归法:publicclassSolution{publicTreeNodeConstructMaximumBinaryTree(int[]nums){varmax=int.MinValue;varindex=0;if(nums.Length==0){returnnull;}for(inti=0;imax){max=nums[i];index=i;}}varroot=newTre
萌帅帅小明
·
2024-02-01 03:02
算法
java
leetcode
c#
数据结构
代码随想录
算法训练
营第十一天|20.有效的括号、1047.删除字符串中的所有相邻重复项、150.逆波兰表达式求值
20.有效的括号publicclassSolution{publicboolIsValid(strings){Stacka=newStack();for(inti=0;is1=newStack();Stackns=newStack();char[]c=s.ToCharArray();stringans="";for(inti=0;i=1){if(c[i]==s1.Peek()){s1.Pop();
萌帅帅小明
·
2024-02-01 03:32
算法
leetcode
c#
数据结构
代码随想录
算法训练
营第十四天|144.二叉树的前序遍历、145.二叉树的后序遍历、94.二叉树的中序遍历
144.二叉树的前序遍历递归:publicclassSolution{publicIListPreorderTraversal(TreeNoderoot){vari=newList();if(root==null){returni;}Pre(root,i);returni;}publicvoidPre(TreeNodecur,IListi){if(cur==null){return;}i.Add(
萌帅帅小明
·
2024-02-01 03:32
算法
开发语言
数据结构
c#
leetcode
代码随想录
算法训练
营第十八天|513.找树左下角的值、112.路径总和、113.路径总和ii、106.从中序与后序遍历序列构造二叉树
513.找树左下角的值publicclassSolution{publicintFindBottomLeftValue(TreeNoderoot){varcnt=0;varans=0;varsum=0;varq=newQueue();q.Enqueue(root);while(q.Count!=0){varsize=q.Count;cnt++;while(size!=0){size--;varcu
萌帅帅小明
·
2024-02-01 03:32
算法
数据结构
c#
leetcode
代码随想录
算法训练
营第七天|454.四数相加II、383.赎金信 、15.三数之和 、18.四数之和
454.四数相加II字典法:publicclassSolution{publicintFourSumCount(int[]nums1,int[]nums2,int[]nums3,int[]nums4){Dictionarydic=newDictionary();foreach(intainnums1){foreach(intbinnums2){intsum=a+b;if(dic.ContainsK
萌帅帅小明
·
2024-02-01 03:02
算法
leetcode
c#
数据结构
代码随想录
算法训练
营第四天| 24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07. 链表相交、142.环形链表II
24.两两交换链表中的节点虚拟头结点法:publicclassSolution{publicListNodeSwapPairs(ListNodehead){ListNodedummyHead=newListNode(0,head);ListNodecur=dummyHead;ListNodetmp=null;if(cur.next==null||cur.next.next==null){retur
萌帅帅小明
·
2024-02-01 03:01
算法
链表
c#
代码随想录
算法训练
营第二十二天|235.二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点
235.二叉搜索树的最近公共祖先递归法:publicclassSolution{publicTreeNodeLowestCommonAncestor(TreeNoderoot,TreeNodep,TreeNodeq){if(root==null){returnnull;}if(root==p||root==q){returnroot;}varleft=LowestCommonAncestor(ro
萌帅帅小明
·
2024-02-01 03:30
算法
leetcode
职场和发展
数据结构
c#
人工智能在现代科技中的应用和未来发展趋势
以下是一些主要的应用和未来发展趋势:机器学习:人工智能的核心技术之一是机器学习,它通过大量数据和
算法训练
,使机器能够自动学习和改进。
Komorebi_9999
·
2024-02-01 02:34
人工智能
代码随想录
算法训练
营day42 | 动态规划 背包问题 01背包 二维数组一维数组 |416. 分割等和子集
动态规划:背包理论背包理论基础对于面试的话,其实掌握01背包,和完全背包,就够用了,最多可以再来一个多重背包。如果这几种背包,分不清,我这里画了一个图,如下:而完全背包又是也是01背包稍作变化而来,即:完全背包的物品数量是无限的。所以背包问题的理论基础重中之重是01背包,一定要理解透!leetcode上没有纯01背包的问题,都是01背包应用方面的题目,也就是需要转化为01背包问题。所以我先通过纯0
xinrenne
·
2024-02-01 00:01
算法
动态规划
leetcode
java
代码随想录
算法训练
营第四十二天| 01背包问题 二维 、01背包问题 一维 、 416. 分割等和子集
01背包问题二维代码随想录视频讲解:带你学透0-1背包问题!|关于背包问题,你不清楚的地方,这里都讲了!|动态规划经典问题|数据结构与算法_哔哩哔哩_bilibili01背包问题一维代码随想录视频讲解:带你学透01背包问题(滚动数组篇)|从此对背包问题不再迷茫!_哔哩哔哩_bilibili416.分割等和子集本题是01背包的应用类题目代码随想录视频讲解:动态规划之背包问题,这个包能装满吗?|Lee
夕风621
·
2024-02-01 00:59
算法
代码随想录
算法训练
营第四十二天 | 01背包问题 二维、01背包问题一维、416.分割等和子集
文章目录一、01背包问题二维二、01背包问题一维三、416.分割等和子集一、01背包问题二维01背包的基础定义不再赘述,详见卡哥的讲解:01背包理论基础(一),这里主要记录自己以前没注意的点和误区。1、首先,dp数组的定义:dp[i][j]表示从下标为[0,i]的物品中取任意物品并放进容量为j的背包中的价值总和。(以前一直理解错)注意,是“任意物品”而不是“所有物品”!想清楚这一点,在理解递推公式
玛玛哈哈34
·
2024-02-01 00:27
算法
动态规划
代码随想录
算法训练
营第四十二天|01背包问题、01背包问题——滚动数组、416. 分割等和子集
01背包问题文档讲解:代码随想录-01背包问题状态:再次回顾。01背包有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。动态规划五部曲:确定dp数组(dptable)以及下标的含义dp[i]的定义为:从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少。确定递
FuCosmo
·
2024-02-01 00:57
算法
代码随想录
算法
代码随想录
算法训练
营第四十二天 | 01背包问题,你该了解这些! 、01背包问题,你该了解这些! 滚动数组、416. 分割等和子集
学习目标学习背包问题学习内容动态规划:01背包理论基础动态规划:01背包理论基础纯01背包问题的经典格式是:有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。举一个例子:背包最大重量为4。物品为:重量价值物品0115物品1320物品2430问背包能背的物品最大价值是多少?确定dp
寒翛然
·
2024-02-01 00:26
算法
动态规划
代码随想录
算法训练
营天 第九章 四十二天| 01背包问题 二维 01背包问题 一维 416. 分割等和子集
代码随想录
算法训练
营天第九章四十二天|01背包问题二维01背包问题一维416.分割等和子集01背包问题二维publicclassBagProblem{publicstaticvoidmain(String
酷酷的贝吉塔
·
2024-02-01 00:26
算法
动态规划
java
代码随想录
算法训练
营第四十一天 | 01背包问题-二维数组&滚动数组,416. 分割等和子集
一、参考资料01背包问题二维https://programmercarl.com/%E8%83%8C%E5%8C%85%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%8001%E8%83%8C%E5%8C%85-1.html视频讲解:https://www.bilibili.com/video/BV1cg411g7Y601背包问题一维https://programmercarl
乐此不疲的小忙
·
2024-02-01 00:54
代码随想录训练营
算法
leetcode
代码随想录
算法训练
营第四十二天|01背包问题、01背包问题(滚动数组)、416. 分割等和子集
题目:01背包问题文章链接:代码随想录视频链接:LeetCode:背包问题题目链接:卡码题目链接图释://二维dp数组实现#includeusingnamespacestd;intn,bagweight;//bagweight代表行李箱空间voidsolve(){vectorweight(n,0);//存储每件物品所占空间vectorvalue(n,0);//存储每件物品价值for(inti=0;
一楼二栋
·
2024-02-01 00:51
算法
leetcode
c++
代码随想录
算法训练
营第42天 | 01背包问题 416. 分割等和子集
01背包问题由于leetcode上没原题,故参考卡哥意见自己编题记录一下。一、题干背包最大重量为4。物品为:物品名称重量价值011513202430–––问背包能背的物品最大价值是多少?二、解法二维dp:递推公式:dp[i][j]=max(dp[i-1][j],dp[i-1][j-weight[i]]+value[i]);voidtest_2_wei_bag_problem1(){vectorwe
虎年喵飞飞
·
2024-02-01 00:51
刷题
算法
动态规划
代码随想录
算法训练
营Day42 | 01背包理论基础 | 01背包 (滚动数组) | 416. 分割等和子集
文章目录01背包理论基础题目描述暴力解法动态规划01背包(滚动数组)01背包总结416.分割等和子集二维dp一维dp(滚动)题解01背包理论基础理论基础题目描述有n件物品和一个最多能背重量为w的背包,已知第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里,可以使得物品价值总和最大。暴力解法本题太过于经典,以至于第一反应肯定都是动态规划。
Kolbe_Huang
·
2024-02-01 00:21
代码随想录算法训练营一刷
算法
代码随想录
算法训练
营第四十二天 | 01背包问题,416. 分割等和子集
01背包问题经典题目了,印象比较深,需要注意的就是dp数组的初始化;利用滚动数组可以将二维dp数组一维化,其中要注意:1.遍历顺序要求,必须先遍历物品,再遍历背包容量;2.遍历背包容量时要求,必须倒序,且必须大于物品大小;416.分割等和子集题目链接:416.分割等和子集这题既然与01背包问题安排在同一天,说明是同一个思路;分割成两个等和的子集,这个和到底是多少,我们是知道的,利用动态规划的思想,
Jamie super Cool
·
2024-02-01 00:21
算法
c++
leetcode
代码随想录
算法训练
营第四十二天|01背包问题、416.分割等和子集
day422023/03/13一、01背包理论基础画了一个图,如下:有n件物品和一个最多能背重量为w的背包。第i件物品的重量是weight[i],得到的价值是value[i]。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。1.确定dp数组以及下标的含义对于背包问题,有一种写法,是使用二维数组,即dp[i][j]表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是
Geed20020912
·
2024-02-01 00:50
算法
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
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
其他