- 博客(10)
- 收藏
- 关注
原创 C++之顺序容器
本文章主要讲解vector,string等顺序容器的成员函数以及怎么使用它们。初学 C嘎嘎 的朋友可以进来看看,新手想要刷题的朋友一定要进来看看,会对你们有很大的帮助的。
2024-07-31 20:21:01
1205
原创 并查集例题之冗余连接
既然图中存在一个环,那么是不是将最后一条边加入的时候它才形成了环。我们就可以从前向后遍历每一条边(优先让前面的边连上),边的两个节点如果不在同一个集合,就加入集合(即:同一个根节点)。如果两个节点已经出现在了集合中,那么再次连接他们是不是就形成了一个环,这两个节点所形成的边是不是就是我们所需要的那最后一条边。题目要求构成一棵树,那么我们应该使图中的环消失,就应该随意去掉环中的一条边。然而题目又要求去掉这些边中在edges数组中最后出现的一条边,那么该如何寻找这最后一条边呢?
2024-07-30 10:00:28
529
原创 【0-1背包】例题之Leetcode416 分割等和子集 与 LeetCode 1049 最后一块石头的重量
详解【0-1】背包问题的演变问题,让你轻松应对【0-1】背包
2024-07-23 18:27:46
555
原创 LeetCode 279 完全平方数
看到可以取一个数的随机个数凑成一个特定值的时候,我们就应该想到 [完全背包] 问题。如果不能,现在就要开始培养这种习惯:这个问题并没有给出可以选择的完全平方数数组,所以我们需要将可以使用的完全平方数数字列出来促成一个可供选择的数字数组 [nums] ,从而就与 [完全背包] 有异曲同工之妙。看到题目目标值最大为10000,所以完全平方数的最大值为100,将1-100放入nums数组中。最后这个题就转化为从 [nums] 中选取凑成目标值的最少数字个数,每个数字可以无限使用。
2024-07-18 15:20:43
373
原创 LeetCode 322题 零钱兑换
(2).确定递推公式:凑成金额为j-coins[i]的最少个数是dp[j-coins[i]],然后再加上一个硬币coins[i]就能够凑成金额j。所以dp[j]=dp[j-coins[i]]+1。递推公式为:dp[j]=min(dp[j-coins[i]]+1,dp[j])再根据题目中的每种硬币可以被选择无限次,我们就可以套用[完全背包]的推导公式进行调整 (m为硬币的个数,n为amount的值。(6).空间复杂度分析:O(n)。需要开辟一个长度为n的空间。dp[j]:凑成金额为j所需硬币的最少个数。
2024-07-17 21:24:59
465
Fingerprint_WBF_USB_DCH_Focal_Z_V2.0.4.19_26100.exe
2022-09-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人