{"id":2523,"date":"2022-03-26T23:24:08","date_gmt":"2022-03-26T15:24:08","guid":{"rendered":"https:\/\/www.zeroheart.xyz\/wordpress\/?p=2523"},"modified":"2022-03-26T23:24:08","modified_gmt":"2022-03-26T15:24:08","slug":"dp%e7%ac%ac%e5%9b%9b%e5%a4%a9","status":"publish","type":"post","link":"https:\/\/www.zeroheart.xyz\/wordpress\/?p=2523","title":{"rendered":"dp\u7b2c\u56db\u5929"},"content":{"rendered":"\n<p>\u4eca\u5929\u8fd9\u4e2a\u662f\u7528\u7684\u8d2a\u5fc3\uff0c\u4e0d\u77e5\u9053\u7b97\u4e0d\u7b97dp\u3002\u3002<\/p>\n\n\n\n<p><a href=\"https:\/\/leetcode-cn.com\/problems\/jump-game\/\">55. \u8df3\u8dc3\u6e38\u620f<\/a><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>\/**<br><\/em><em> 55. \u8df3\u8dc3\u6e38\u620f<br><\/em><em> \u7ed9\u5b9a\u4e00\u4e2a\u975e\u8d1f\u6574\u6570\u6570\u7ec4 nums \uff0c\u4f60\u6700\u521d\u4f4d\u4e8e\u6570\u7ec4\u7684 \u7b2c\u4e00\u4e2a\u4e0b\u6807 \u3002<br><\/em><em><br><\/em><em> \u6570\u7ec4\u4e2d\u7684\u6bcf\u4e2a\u5143\u7d20\u4ee3\u8868\u4f60\u5728\u8be5\u4f4d\u7f6e\u53ef\u4ee5\u8df3\u8dc3\u7684\u6700\u5927\u957f\u5ea6\u3002<br><\/em><em><br><\/em><em> \u5224\u65ad\u4f60\u662f\u5426\u80fd\u591f\u5230\u8fbe\u6700\u540e\u4e00\u4e2a\u4e0b\u6807\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 = [2,3,1,1,4]<br><\/em><em> \u8f93\u51fa\uff1atrue<br><\/em><em> \u89e3\u91ca\uff1a\u53ef\u4ee5\u5148\u8df3 1 \u6b65\uff0c\u4ece\u4e0b\u6807 0 \u5230\u8fbe\u4e0b\u6807 1, \u7136\u540e\u518d\u4ece\u4e0b\u6807 1 \u8df3 3 \u6b65\u5230\u8fbe\u6700\u540e\u4e00\u4e2a\u4e0b\u6807\u3002<br><\/em><em> \u793a\u4f8b 2\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1anums = [3,2,1,0,4]<br><\/em><em> \u8f93\u51fa\uff1afalse<br><\/em><em> \u89e3\u91ca\uff1a\u65e0\u8bba\u600e\u6837\uff0c\u603b\u4f1a\u5230\u8fbe\u4e0b\u6807\u4e3a 3 \u7684\u4f4d\u7f6e\u3002\u4f46\u8be5\u4e0b\u6807\u7684\u6700\u5927\u8df3\u8dc3\u957f\u5ea6\u662f 0 \uff0c \u6240\u4ee5\u6c38\u8fdc\u4e0d\u53ef\u80fd\u5230\u8fbe\u6700\u540e\u4e00\u4e2a\u4e0b\u6807\u3002<br><\/em><em><br><\/em><em><br><\/em><em> \u63d0\u793a\uff1a<br><\/em><em><br><\/em><em> 1 &lt;= nums.length &lt;= 3 * 10^4<br><\/em><em> 0 &lt;= nums[i] &lt;= 10^5<br><\/em><em><br><\/em><em> * <\/em><strong><em>@author <\/em><\/strong><em>zeroheart<br><\/em><em> *<br><\/em><em> *\/<br><\/em>public class Question55 {<br>    public boolean canJump(int[] nums) {<br>        int len = nums.length;<br>        if(len &lt;= 1)return true;<br><br>        \/\/ \u5f53\u524d\u6700\u8fdc\u80fd\u8df3\u5230\u54ea<br>        int max = nums[0];<br>        for(int i = 0; i&lt;len; i++){<br>            if(max &gt;= len - 1) return true;<br>            if(max &gt;= i){<br>                \/\/ \u9996\u5148\u8981\u80fd\u8df3\u5230i\uff0c\u624d\u6709\u4e0b\u9762\u7684\u8ba1\u7b97<br>                max = Math.<em>max<\/em>(max, i + nums[i]);<br>            }<br>        }<br>        return false;<br>    }<br><br>    public static void main(String[] args) {<br><br>    }<br>}<\/pre>\n\n\n\n<p><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-red-color\">\u6709\u4e24\u4e2a\u6ce8\u610f\u70b9\uff0c\u4e00\u4e2aif(max >= len &#8211; 1) return true;\u53e6\u4e00\u4e2a\u662fif(max >= i)\u624d\u8fdb\u5165max\u6bd4\u8f83<\/mark><\/p>\n\n\n\n<p><a href=\"https:\/\/leetcode-cn.com\/problems\/jump-game-ii\/\">45. \u8df3\u8dc3\u6e38\u620f II<\/a><\/p>\n\n\n\n<p>\u8fd9\u9898\u8981\u6ce8\u610f\u7684\u70b9\u5c31\u662f\uff0c\u4e0d\u662f\u6bcf\u6b21\u90fd\u8df3\u6700\u8fdc\u7684\u90a3\u4e2a\uff0c\u66f4\u65b0\u6b65\u6570\u7684\u5730\u65b9\u662f\u7279\u6b8a\u7684\u3002\u6bd4\u8f83\u9ebb\u70e6\u7684\uff0c\u770b\u4e0b\u56fe\u89e3\u5427\uff0c\u56fe\u89e3\u5f88\u7b80\u5355\u3002\u3002<\/p>\n\n\n\n<p><a href=\"https:\/\/leetcode-cn.com\/problems\/jump-game-ii\/solution\/tiao-yue-you-xi-ii-by-leetcode-solution\/\">\u8df3\u8dc3\u6e38\u620f II &#8211; \u8df3\u8dc3\u6e38\u620f II &#8211; \u529b\u6263\uff08LeetCode\uff09 (leetcode-cn.com)<\/a><\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\n\n<em>\/**\n<\/em><em> 45. \u8df3\u8dc3\u6e38\u620f II\n<\/em><em> \u7ed9\u4f60\u4e00\u4e2a\u975e\u8d1f\u6574\u6570\u6570\u7ec4 nums \uff0c\u4f60\u6700\u521d\u4f4d\u4e8e\u6570\u7ec4\u7684\u7b2c\u4e00\u4e2a\u4f4d\u7f6e\u3002\n<\/em><em>\n<\/em><em> \u6570\u7ec4\u4e2d\u7684\u6bcf\u4e2a\u5143\u7d20\u4ee3\u8868\u4f60\u5728\u8be5\u4f4d\u7f6e\u53ef\u4ee5\u8df3\u8dc3\u7684\u6700\u5927\u957f\u5ea6\u3002\n<\/em><em>\n<\/em><em> \u4f60\u7684\u76ee\u6807\u662f\u4f7f\u7528\u6700\u5c11\u7684\u8df3\u8dc3\u6b21\u6570\u5230\u8fbe\u6570\u7ec4\u7684\u6700\u540e\u4e00\u4e2a\u4f4d\u7f6e\u3002\n<\/em><em>\n<\/em><em> \u5047\u8bbe\u4f60\u603b\u662f\u53ef\u4ee5\u5230\u8fbe\u6570\u7ec4\u7684\u6700\u540e\u4e00\u4e2a\u4f4d\u7f6e\u3002\n<\/em><em>\n<\/em><em>\n<\/em><em>\n<\/em><em> \u793a\u4f8b 1:\n<\/em><em>\n<\/em><em> \u8f93\u5165: nums = [2,3,1,1,4]\n<\/em><em> \u8f93\u51fa: 2\n<\/em><em> \u89e3\u91ca: \u8df3\u5230\u6700\u540e\u4e00\u4e2a\u4f4d\u7f6e\u7684\u6700\u5c0f\u8df3\u8dc3\u6570\u662f 2\u3002\n<\/em><em> \u4ece\u4e0b\u6807\u4e3a 0 \u8df3\u5230\u4e0b\u6807\u4e3a 1 \u7684\u4f4d\u7f6e\uff0c\u8df3 1 \u6b65\uff0c\u7136\u540e\u8df3 3 \u6b65\u5230\u8fbe\u6570\u7ec4\u7684\u6700\u540e\u4e00\u4e2a\u4f4d\u7f6e\u3002\n<\/em><em> \u793a\u4f8b 2:\n<\/em><em>\n<\/em><em> \u8f93\u5165: nums = [2,3,0,1,4]\n<\/em><em> \u8f93\u51fa: 2\n<\/em><em>\n<\/em><em>\n<\/em><em> \u63d0\u793a:\n<\/em><em>\n<\/em><em> 1 &lt;= nums.length &lt;= 10^4\n<\/em><em> 0 &lt;= nums[i] &lt;= 1000\n<\/em><em>\n<\/em><em> * <\/em><strong><em>@author <\/em><\/strong><em>zeroheart\n<\/em><em> *\n<\/em><em> *\/\n<\/em>public class Question45 {\n    public int jump(int[] nums) {\n\/\/        int len = nums.length;\n\/\/\n\/\/        if(len &lt;= 1) return len;\n\/\/\n\/\/        int max = nums[0];\n\/\/        int times = 1;\n\/\/\n\/\/        for(int i = 1; i&lt;len; i++){\n\/\/            if(max >= len - 1) return times;\n\/\/            if(max >= i){\n\/\/                max = Math.max(max, i+nums[i]);\n\/\/                times++;\n\/\/            }\n\/\/        }\n\/\/        return 0;\n\n        \/\/ \u4e0a\u9762\u7684\u5199\u6cd5\u6ca1\u6709\u8003\u8651\u4e0d\u662f\u6bcf\u6b21\u90fd\u8981\u8df3\u5230\u6700\u591a\u7684\uff0c\u53ef\u80fd\u4f1a\u9519\u8fc7\u4e86\u6700\u5927\u7684\uff0c\u548c\u8d2a\u5fc3\u7b2c\u4e00\u9898\u7684\u533a\u522b\u5728\u4e0e\u7b2c\u4e00\u9898\u53ea\u8981\u80fd\u8df3\u5230\u5c31\u884c\u4e86\uff0c\u4e0d\u7ba1\u4f60\u8df3\u4e86\u591a\u5c11\u6b21\u3002\n\n        int length = nums.length;\n        int end = 0;\n        int maxPosition = 0;\n        int steps = 0;\n        for (int i = 0; i &lt; length - 1; i++) {\n            maxPosition = Math.<em>max<\/em>(maxPosition, i + nums[i]);\n            \/\/ \u53ea\u6709\u4e0b\u6807\u5230\u8fbe\u4e86\u8fd9\u4e00\u6b21\u6b65\u7684\u6700\u8fdc\uff0c\u624d\u4f1a\u66f4\u65b0\uff0c\u4f46\u662f\u5b9e\u9645\u4e0a\u4e0d\u4e00\u5b9a\u662f\u8fd9\u4e48\u8df3\u7684\uff0cmax\u53ef\u80fd\u5df2\u7ecf\u8df3\u8fc7\u53bb\u4e86\n            if (i == end) {\n                end = maxPosition;\n                steps++;\n            }\n        }\n        return steps;\n\n    }\n\n\n    public static void main(String[] args) {\n\n    }\n}<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u5929\u8fd9\u4e2a\u662f\u7528\u7684\u8d2a\u5fc3\uff0c\u4e0d\u77e5\u9053\u7b97\u4e0d\u7b97dp\u3002\u3002 55. \u8df3\u8dc3\u6e38\u620f \/** 55. \u8df3\u8dc3\u6e38\u620f \u7ed9\u5b9a\u4e00\u4e2a\u975e\u8d1f\u6574\u6570\u6570\u7ec4 n [&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":[167],"_links":{"self":[{"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2523"}],"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=2523"}],"version-history":[{"count":7,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2523\/revisions"}],"predecessor-version":[{"id":2530,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2523\/revisions\/2530"}],"wp:attachment":[{"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}