{"id":2883,"date":"2022-04-21T15:32:40","date_gmt":"2022-04-21T07:32:40","guid":{"rendered":"https:\/\/www.zeroheart.xyz\/wordpress\/?p=2883"},"modified":"2022-04-21T16:57:27","modified_gmt":"2022-04-21T08:57:27","slug":"dp%e7%ac%ac21%e5%a4%a9","status":"publish","type":"post","link":"https:\/\/www.zeroheart.xyz\/wordpress\/?p=2883","title":{"rendered":"dp\u7b2c21\u5929"},"content":{"rendered":"\n<p><a href=\"https:\/\/leetcode-cn.com\/problems\/combination-sum-iv\/\">377. \u7ec4\u5408\u603b\u548c \u2163<\/a><\/p>\n\n\n\n<p>\u8fd9\u4e2a\u53c2\u8003\u524d\u9762\u7684\u95ee\u9898\uff0c\u77e5\u9053\u6240\u6c42\u7684\u662f\u6392\u5217\u95ee\u9898\uff0c\u6392\u5217\u7684\u8bdd\u5c31\u8981\u4f7f\u7528\u80cc\u5305\u505a\u5916\u5c42\u7684\u904d\u5386\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><br><em>\/**<br><\/em><em> *<br><\/em><em> 377. \u7ec4\u5408\u603b\u548c \u2163<br><\/em><em> \u7ed9\u4f60\u4e00\u4e2a\u7531 \u4e0d\u540c \u6574\u6570\u7ec4\u6210\u7684\u6570\u7ec4 nums \uff0c\u548c\u4e00\u4e2a\u76ee\u6807\u6574\u6570 target \u3002\u8bf7\u4f60\u4ece nums \u4e2d\u627e\u51fa\u5e76\u8fd4\u56de\u603b\u548c\u4e3a target \u7684\u5143\u7d20\u7ec4\u5408\u7684\u4e2a\u6570\u3002<br><\/em><em><br><\/em><em> \u9898\u76ee\u6570\u636e\u4fdd\u8bc1\u7b54\u6848\u7b26\u5408 32 \u4f4d\u6574\u6570\u8303\u56f4\u3002<br><\/em><em><br><\/em><em><br><\/em><em><br><\/em><em> \u793a\u4f8b 1\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1anums = [1,2,3], target = 4<br><\/em><em> \u8f93\u51fa\uff1a7<br><\/em><em> \u89e3\u91ca\uff1a<br><\/em><em> \u6240\u6709\u53ef\u80fd\u7684\u7ec4\u5408\u4e3a\uff1a<br><\/em><em> (1, 1, 1, 1)<br><\/em><em> (1, 1, 2)<br><\/em><em> (1, 2, 1)<br><\/em><em> (1, 3)<br><\/em><em> (2, 1, 1)<br><\/em><em> (2, 2)<br><\/em><em> (3, 1)<br><\/em><em> \u8bf7\u6ce8\u610f\uff0c\u987a\u5e8f\u4e0d\u540c\u7684\u5e8f\u5217\u88ab\u89c6\u4f5c\u4e0d\u540c\u7684\u7ec4\u5408\u3002<br><\/em><em> \u793a\u4f8b 2\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1anums = [9], target = 3<br><\/em><em> \u8f93\u51fa\uff1a0<br><\/em><em><br><\/em><em><br><\/em><em> \u63d0\u793a\uff1a<br><\/em><em><br><\/em><em> 1 &lt;= nums.length &lt;= 200<br><\/em><em> 1 &lt;= nums[i] &lt;= 1000<br><\/em><em> nums \u4e2d\u7684\u6240\u6709\u5143\u7d20 \u4e92\u4e0d\u76f8\u540c<br><\/em><em> 1 &lt;= target &lt;= 1000<br><\/em><em><br><\/em><em><br><\/em><em> \u8fdb\u9636\uff1a\u5982\u679c\u7ed9\u5b9a\u7684\u6570\u7ec4\u4e2d\u542b\u6709\u8d1f\u6570\u4f1a\u53d1\u751f\u4ec0\u4e48\uff1f\u95ee\u9898\u4f1a\u4ea7\u751f\u4f55\u79cd\u53d8\u5316\uff1f\u5982\u679c\u5141\u8bb8\u8d1f\u6570\u51fa\u73b0\uff0c\u9700\u8981\u5411\u9898\u76ee\u4e2d\u6dfb\u52a0\u54ea\u4e9b\u9650\u5236\u6761\u4ef6\uff1f<br><\/em><em><br><\/em><em> * <\/em><strong><em>@author <\/em><\/strong><em>zeroheart<br><\/em><em> *<br><\/em><em> *\/<br><\/em>public class Question377 {<br><br>   public int combinationSum4(int[] nums, int target) {<br>      \/\/ \u6392\u5e8f\u4e0d\u540c\u662f\u4e0d\u540c\u7684\u7ec4\u5408\uff0c\u90a3\u5c31\u662f\u6392\u5217\u4e86\u3002<br>      int[] dp = new int[target+1];<br>      int length = nums.length;<br><br>      dp[0] = 1;<br><br>      for(int i = 0;i&lt;=target; i++){<br>         for(int j = 0;j&lt;length; j++){<br>            if(i &gt;= nums[j]){<br>               dp[i] += dp[i - nums[j]];<br>            }<br>         }<br>      }<br><br>      return dp[target];<br>   }<br><br>   public static void main(String args[]){<br>   }<br>}<\/pre>\n\n\n\n<p><a href=\"https:\/\/leetcode-cn.com\/problems\/integer-break\/\">343. \u6574\u6570\u62c6\u5206<\/a><\/p>\n\n\n\n<p>\u8fd9\u4e2a\u662f\u526a\u7ef3\u5b50\u95ee\u9898\uff0c\u6211\u5f00\u59cb\u4ee5\u4e3a\u8981\u81ea\u5df1\u6784\u9020\u80cc\u5305\u95ee\u9898\u6765\u505a\u3002\u3002\u3002\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><br><em>\/**<br><\/em><em> *<br><\/em><em> 343. \u6574\u6570\u62c6\u5206<br><\/em><em> \u7ed9\u5b9a\u4e00\u4e2a\u6b63\u6574\u6570 n \uff0c\u5c06\u5176\u62c6\u5206\u4e3a k \u4e2a \u6b63\u6574\u6570 \u7684\u548c\uff08 k &gt;= 2 \uff09\uff0c\u5e76\u4f7f\u8fd9\u4e9b\u6574\u6570\u7684\u4e58\u79ef\u6700\u5927\u5316\u3002<br><\/em><em><br><\/em><em> \u8fd4\u56de \u4f60\u53ef\u4ee5\u83b7\u5f97\u7684\u6700\u5927\u4e58\u79ef \u3002<br><\/em><em><br><\/em><em><br><\/em><em><br><\/em><em> \u793a\u4f8b 1:<br><\/em><em><br><\/em><em> \u8f93\u5165: n = 2<br><\/em><em> \u8f93\u51fa: 1<br><\/em><em> \u89e3\u91ca: 2 = 1 + 1, 1 \u00d7 1 = 1\u3002<br><\/em><em> \u793a\u4f8b 2:<br><\/em><em><br><\/em><em> \u8f93\u5165: n = 10<br><\/em><em> \u8f93\u51fa: 36<br><\/em><em> \u89e3\u91ca: 10 = 3 + 3 + 4, 3 \u00d7 3 \u00d7 4 = 36\u3002<br><\/em><em><br><\/em><em><br><\/em><em> \u63d0\u793a:<br><\/em><em><br><\/em><em> 2 &lt;= n &lt;= 58<br><\/em><em><br><\/em><em> * <\/em><strong><em>@author <\/em><\/strong><em>zeroheart<br><\/em><em> *<br><\/em><em> *\/<br><\/em>public class Question343 {<br><br>   public int integerBreak(int n) {<br>      \/\/ \u526a\u7ef3\u5b50\u95ee\u9898\u3002\u3002\u3002\u3002\u6211\u8fd8\u4ee5\u4e3a\u8981\u6211\u81ea\u5df1\u6784\u5efa\u80cc\u5305\u5462\u3002\u3002<br>      \/\/dp[i] \u8868\u793a i\u62c6\u5206\u7684\u6700\u5927\u4e58\u79ef<br>      \/\/ dp[i] = Max(dp[i],dp[i-j]*j,j*(i-j))<br><br>      int[] dp = new int[n+1];<br>      dp[2] = 1; \/\/ 1+1 =&gt; 1*1<br>      for(int i = 3; i&lt;=n; i++){<br>         for(int j = 1; j&lt;i; j++){<br>            dp[i] = Math.<em>max<\/em>(Math.<em>max<\/em>(dp[i], j * (i-j)), dp[i-j] * j);<br>         }<br>      }<br><br>      return dp[n];<br>   }<br><br>   public static void main(String args[]){<br>   }<br>}<\/pre>\n\n\n\n<p><a href=\"https:\/\/leetcode-cn.com\/problems\/coin-change\/solution\/yi-pian-wen-zhang-chi-tou-bei-bao-wen-ti-sq9n\/%E5%8F%AF%E4%BB%A5%E7%9C%8B%E4%B8%80%E4%B8%8B%E8%BF%99%E7%AF%87%E9%A2%98%E8%A7%A3%EF%BC%8C%E7%9C%9F%E7%9A%84%E5%BE%88nice\/\">\u4e00\u7bc7\u6587\u7ae0\u5403\u900f\u80cc\u5305\u95ee\u9898\uff01\uff08\u7ec6\u81f4\u5f15\u5165+\u89e3\u9898\u6a21\u677f+\u4f8b\u9898\u5206\u6790+\u4ee3\u7801\u5448\u73b0\uff09 &#8211; \u96f6\u94b1\u5151\u6362 &#8211; \u529b\u6263\uff08LeetCode\uff09 (leetcode-cn.com)<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/leetcode-cn.com\/problems\/perfect-squares\/\">279. \u5b8c\u5168\u5e73\u65b9\u6570<\/a><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><br><em>\/**<br><\/em><em> *<br><\/em><em> 279. \u5b8c\u5168\u5e73\u65b9\u6570<br><\/em><em> \u7ed9\u4f60\u4e00\u4e2a\u6574\u6570 n \uff0c\u8fd4\u56de \u548c\u4e3a n \u7684\u5b8c\u5168\u5e73\u65b9\u6570\u7684\u6700\u5c11\u6570\u91cf \u3002<br><\/em><em><br><\/em><em> \u5b8c\u5168\u5e73\u65b9\u6570 \u662f\u4e00\u4e2a\u6574\u6570\uff0c\u5176\u503c\u7b49\u4e8e\u53e6\u4e00\u4e2a\u6574\u6570\u7684\u5e73\u65b9\uff1b\u6362\u53e5\u8bdd\u8bf4\uff0c\u5176\u503c\u7b49\u4e8e\u4e00\u4e2a\u6574\u6570\u81ea\u4e58\u7684\u79ef\u3002\u4f8b\u5982\uff0c1\u30014\u30019 \u548c 16 \u90fd\u662f\u5b8c\u5168\u5e73\u65b9\u6570\uff0c\u800c 3 \u548c 11 \u4e0d\u662f\u3002<br><\/em><em><br><\/em><em><br><\/em><em><br><\/em><em> \u793a\u4f8b 1\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1an = 12<br><\/em><em> \u8f93\u51fa\uff1a3<br><\/em><em> \u89e3\u91ca\uff1a12 = 4 + 4 + 4<br><\/em><em> \u793a\u4f8b 2\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1an = 13<br><\/em><em> \u8f93\u51fa\uff1a2<br><\/em><em> \u89e3\u91ca\uff1a13 = 4 + 9<br><\/em><em><br><\/em><em> \u63d0\u793a\uff1a<br><\/em><em><br><\/em><em> 1 &lt;= n &lt;= 10^4<br><\/em><em><br><\/em><em> * <\/em><strong><em>@author <\/em><\/strong><em>zeroheart<br><\/em><em> *<br><\/em><em> *\/<br><\/em>public class Question279 {<br>   \/\/https:\/\/leetcode-cn.com\/problems\/coin-change\/solution\/yi-pian-wen-zhang-chi-tou-bei-bao-wen-ti-sq9n\/<br>   public int numSquares(int n) {<br>      \/\/ dp\u5c31\u8868\u793a\u6700\u5c11\u503c<br>      int[] dp = new int[n+1];<br><br>      Arrays.<em>fill<\/em>(dp, n+1);<br>      dp[1] = 1;<br>      dp[0] = 0;<br>      for(int i = 1; i&lt;=Math.<em>sqrt<\/em>(n); i++){<br>         for(int j = 2; j&lt;=n; j++){<br>            if(j&gt;=i*i){<br>               dp[j] = Math.<em>min<\/em>(dp[j], dp[j - i * i]+1);<br>            }<br>         }<br>      }<br>      return dp[n];<br>   }<br><br>   public static void main(String args[]){<br>   }<br>}<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>377. \u7ec4\u5408\u603b\u548c \u2163 \u8fd9\u4e2a\u53c2\u8003\u524d\u9762\u7684\u95ee\u9898\uff0c\u77e5\u9053\u6240\u6c42\u7684\u662f\u6392\u5217\u95ee\u9898\uff0c\u6392\u5217\u7684\u8bdd\u5c31\u8981\u4f7f\u7528\u80cc\u5305\u505a\u5916\u5c42\u7684\u904d\u5386\u3002 \/**  [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[155],"tags":[158,201,175],"_links":{"self":[{"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2883"}],"collection":[{"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2883"}],"version-history":[{"count":8,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2883\/revisions"}],"predecessor-version":[{"id":2903,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2883\/revisions\/2903"}],"wp:attachment":[{"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}