From 6cdf24179e932d3d2dbc38a2a06f2891a4e7481a Mon Sep 17 00:00:00 2001 From: X-shuffle <53906918+X-shuffle@users.noreply.github.com> Date: Wed, 15 Sep 2021 10:20:15 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=200474.=E4=B8=80=E5=92=8C?= =?UTF-8?q?=E9=9B=B6=20=20=EF=BC=88=E4=B8=89=E7=BB=B4=E6=95=B0=E7=BB=84?= =?UTF-8?q?=EF=BC=8C=E5=8A=A8=E6=80=81=E8=A7=84=E5=88=92=EF=BC=8C=E5=A5=BD?= =?UTF-8?q?=E7=90=86=E8=A7=A3=EF=BC=89Go=E8=AF=AD=E8=A8=80=E7=89=88?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加 0474.一和零 (三维数组,动态规划,好理解)Go语言版本 --- problems/0474.一和零.md | 47 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/problems/0474.一和零.md b/problems/0474.一和零.md index e3b05704..5544c3c9 100644 --- a/problems/0474.一和零.md +++ b/problems/0474.一和零.md @@ -248,6 +248,53 @@ func max(a,b int) int { return b } ``` +> 传统背包,三维数组法 +```golang +func findMaxForm(strs []string, m int, n int) int { + //dp的第一个index代表项目的多少,第二个代表的是背包的容量 + //所以本处项目的多少是len(strs),容量为m和n + dp:=make([][][]int,len(strs)+1) + for i:=0;i<=len(strs);i++{ + //初始化背包容量 + strDp:=make([][]int,m+1) + for j:=0;j=zero&&j>=one{ + dp[k][i][j]=getMax(dp[k-1][i][j],dp[k-1][i-zero][j-one]+1) + } + } + } + } + return dp[len(strs)][m][n] +} +func getMax(a,b int)int{ + if a>b{ + return a + } + return b +} +``` Javascript: ```javascript