更新 完全背包理论基础 0139.单词拆分 0279.完全平方数 0322.零钱兑换 0377.组合总和IV 0518.零钱兑换II 多重背包理论基础 背包总结篇 排版格式修复

This commit is contained in:
jinbudaily
2023-07-26 15:28:27 +08:00
parent fc19feb049
commit 7ac217942f
8 changed files with 80 additions and 66 deletions

View File

@@ -7,9 +7,13 @@
# 动态规划:完全背包理论基础
**《代码随想录》算法视频公开课:[带你学透完全背包问题! ](https://www.bilibili.com/video/BV1uK411o7c9/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
## 算法公开课
## 完全背包
**[《代码随想录》算法视频公开课](https://programmercarl.com/other/gongkaike.html)[带你学透完全背包问题! ](https://www.bilibili.com/video/BV1uK411o7c9/),相信结合视频再看本篇题解,更有助于大家对本题的理解**。
## 思路
### 完全背包
有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i]得到的价值是value[i] 。**每件物品都有无限个(也就是可以放入背包多次)**,求解将哪些物品装入背包里物品价值总和最大。
@@ -113,8 +117,6 @@ for(int j = 0; j <= bagWeight; j++) { // 遍历背包容量
}
```
## C++测试代码
完整的C++测试代码如下:
```CPP
@@ -181,7 +183,7 @@ int main() {
## 其他语言版本
Java
### Java
```java
//先遍历物品,再遍历背包
@@ -221,9 +223,7 @@ private static void testCompletePackAnotherWay(){
Python
### Python
先遍历物品,再遍历背包(无参版)
```python
@@ -299,7 +299,8 @@ if __name__ == "__main__":
```
Go
### Go
```go
// test_CompletePack1 先遍历物品, 在遍历背包
@@ -352,7 +353,8 @@ func main() {
fmt.Println(test_CompletePack2(weight, price, 4))
}
```
Javascript:
### Javascript:
```Javascript
// 先遍历物品,再遍历背包容量
function test_completePack1() {
@@ -385,7 +387,7 @@ function test_completePack2() {
}
```
TypeScript
### TypeScript
```typescript
// 先遍历物品,再遍历背包容量
@@ -404,7 +406,7 @@ function test_CompletePack(): void {
test_CompletePack();
```
Scala:
### Scala:
```scala
// 先遍历物品,再遍历背包容量
@@ -426,7 +428,7 @@ object Solution {
}
```
Rust:
### Rust:
```rust
impl Solution {
@@ -468,3 +470,4 @@ fn test_complete_pack() {
<a href="https://programmercarl.com/other/kstar.html" target="_blank">
<img src="../pics/网站星球宣传海报.jpg" width="1000"/>
</a>