{"id":2803,"date":"2022-04-17T16:21:23","date_gmt":"2022-04-17T08:21:23","guid":{"rendered":"https:\/\/www.zeroheart.xyz\/wordpress\/?p=2803"},"modified":"2022-04-17T17:02:56","modified_gmt":"2022-04-17T09:02:56","slug":"dp%e7%ac%ac18%e5%a4%a9","status":"publish","type":"post","link":"https:\/\/www.zeroheart.xyz\/wordpress\/?p=2803","title":{"rendered":"dp\u7b2c18\u5929"},"content":{"rendered":"\n<p><a href=\"https:\/\/leetcode-cn.com\/problems\/longest-increasing-subsequence\/\">300. \u6700\u957f\u9012\u589e\u5b50\u5e8f\u5217<\/a><\/p>\n\n\n\n<p>\u7ecf\u5178\u9898\uff0c\u80cc\u90fd\u8981\u80cc\u5f97<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><br><em>\/**<br><\/em><em> *<br><\/em><em> 300. \u6700\u957f\u9012\u589e\u5b50\u5e8f\u5217<br><\/em><em> \u7ed9\u4f60\u4e00\u4e2a\u6574\u6570\u6570\u7ec4 nums \uff0c\u627e\u5230\u5176\u4e2d\u6700\u957f\u4e25\u683c\u9012\u589e\u5b50\u5e8f\u5217\u7684\u957f\u5ea6\u3002<br><\/em><em><br><\/em><em> \u5b50\u5e8f\u5217 \u662f\u7531\u6570\u7ec4\u6d3e\u751f\u800c\u6765\u7684\u5e8f\u5217\uff0c\u5220\u9664\uff08\u6216\u4e0d\u5220\u9664\uff09\u6570\u7ec4\u4e2d\u7684\u5143\u7d20\u800c\u4e0d\u6539\u53d8\u5176\u4f59\u5143\u7d20\u7684\u987a\u5e8f\u3002\u4f8b\u5982\uff0c[3,6,2,7] \u662f\u6570\u7ec4 [0,3,1,6,2,2,7] \u7684\u5b50\u5e8f\u5217\u3002<br><\/em><em><br><\/em><em><br><\/em><em> \u793a\u4f8b 1\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1anums = [10,9,2,5,3,7,101,18]<br><\/em><em> \u8f93\u51fa\uff1a4<br><\/em><em> \u89e3\u91ca\uff1a\u6700\u957f\u9012\u589e\u5b50\u5e8f\u5217\u662f [2,3,7,101]\uff0c\u56e0\u6b64\u957f\u5ea6\u4e3a 4 \u3002<br><\/em><em> \u793a\u4f8b 2\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1anums = [0,1,0,3,2,3]<br><\/em><em> \u8f93\u51fa\uff1a4<br><\/em><em> \u793a\u4f8b 3\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1anums = [7,7,7,7,7,7,7]<br><\/em><em> \u8f93\u51fa\uff1a1<br><\/em><em><br><\/em><em><br><\/em><em> \u63d0\u793a\uff1a<br><\/em><em><br><\/em><em> 1 &lt;= nums.length &lt;= 2500<br><\/em><em> -10^4 &lt;= nums[i] &lt;= 10^4<br><\/em><em><br><\/em><em><br><\/em><em> \u8fdb\u9636\uff1a<br><\/em><em><br><\/em><em> \u4f60\u80fd\u5c06\u7b97\u6cd5\u7684\u65f6\u95f4\u590d\u6742\u5ea6\u964d\u4f4e\u5230 O(n log(n)) \u5417?<br><\/em><em><br><\/em><em><br><\/em><em> * <\/em><strong><em>@author <\/em><\/strong><em>zeroheart<br><\/em><em> *<br><\/em><em> *\/<br><\/em>public class Question300 {<br><br>   public int lengthOfLIS(int[] nums) {<br>      int len = nums.length;<br><br>      int max = 0;<br>      int[] dp = new int[len];<br><br>      for(int i = 0; i&lt;len; i++){<br>         dp[i] = 1;<br>         for(int j = 0; j&lt;i; j++){<br>            if(nums[i]&gt;nums[j]){<br>               dp[i] = Math.<em>max<\/em>(dp[i], dp[j]+1);<br>            }<br>         }<br>         max = Math.<em>max<\/em>(dp[i], max);<br>      }<br><br>      return max;<br>   }<br><br>   public static void main(String args[]){<br>   }<br>}<\/pre>\n\n\n\n<p><a href=\"https:\/\/leetcode-cn.com\/problems\/wiggle-subsequence\/\">376. \u6446\u52a8\u5e8f\u5217<\/a><\/p>\n\n\n\n<p>\u8fd9\u9898\u4e5f\u4e0d\u7528dp\u597d\u7406\u89e3\u4e9b\uff0c\u8fd8\u662f\u7528\u8d2a\u5fc3\u5427\u3002\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><br><em>\/**<br><\/em><em> *<br><\/em><em> 376. \u6446\u52a8\u5e8f\u5217<br><\/em><em> \u5982\u679c\u8fde\u7eed\u6570\u5b57\u4e4b\u95f4\u7684\u5dee\u4e25\u683c\u5730\u5728\u6b63\u6570\u548c\u8d1f\u6570\u4e4b\u95f4\u4ea4\u66ff\uff0c\u5219\u6570\u5b57\u5e8f\u5217\u79f0\u4e3a \u6446\u52a8\u5e8f\u5217 \u3002\u7b2c\u4e00\u4e2a\u5dee\uff08\u5982\u679c\u5b58\u5728\u7684\u8bdd\uff09\u53ef\u80fd\u662f\u6b63\u6570\u6216\u8d1f\u6570\u3002\u4ec5\u6709\u4e00\u4e2a\u5143\u7d20\u6216\u8005\u542b\u4e24\u4e2a\u4e0d\u7b49\u5143\u7d20\u7684\u5e8f\u5217\u4e5f\u89c6\u4f5c\u6446\u52a8\u5e8f\u5217\u3002<br><\/em><em><br><\/em><em> \u4f8b\u5982\uff0c [1, 7, 4, 9, 2, 5] \u662f\u4e00\u4e2a \u6446\u52a8\u5e8f\u5217 \uff0c\u56e0\u4e3a\u5dee\u503c (6, -3, 5, -7, 3) \u662f\u6b63\u8d1f\u4ea4\u66ff\u51fa\u73b0\u7684\u3002<br><\/em><em><br><\/em><em> \u76f8\u53cd\uff0c[1, 4, 7, 2, 5] \u548c [1, 7, 4, 5, 5] \u4e0d\u662f\u6446\u52a8\u5e8f\u5217\uff0c\u7b2c\u4e00\u4e2a\u5e8f\u5217\u662f\u56e0\u4e3a\u5b83\u7684\u524d\u4e24\u4e2a\u5dee\u503c\u90fd\u662f\u6b63\u6570\uff0c\u7b2c\u4e8c\u4e2a\u5e8f\u5217\u662f\u56e0\u4e3a\u5b83\u7684\u6700\u540e\u4e00\u4e2a\u5dee\u503c\u4e3a\u96f6\u3002<br><\/em><em> \u5b50\u5e8f\u5217 \u53ef\u4ee5\u901a\u8fc7\u4ece\u539f\u59cb\u5e8f\u5217\u4e2d\u5220\u9664\u4e00\u4e9b\uff08\u4e5f\u53ef\u4ee5\u4e0d\u5220\u9664\uff09\u5143\u7d20\u6765\u83b7\u5f97\uff0c\u5269\u4e0b\u7684\u5143\u7d20\u4fdd\u6301\u5176\u539f\u59cb\u987a\u5e8f\u3002<br><\/em><em><br><\/em><em> \u7ed9\u4f60\u4e00\u4e2a\u6574\u6570\u6570\u7ec4 nums \uff0c\u8fd4\u56de nums \u4e2d\u4f5c\u4e3a \u6446\u52a8\u5e8f\u5217 \u7684 \u6700\u957f\u5b50\u5e8f\u5217\u7684\u957f\u5ea6 \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,7,4,9,2,5]<br><\/em><em> \u8f93\u51fa\uff1a6<br><\/em><em> \u89e3\u91ca\uff1a\u6574\u4e2a\u5e8f\u5217\u5747\u4e3a\u6446\u52a8\u5e8f\u5217\uff0c\u5404\u5143\u7d20\u4e4b\u95f4\u7684\u5dee\u503c\u4e3a (6, -3, 5, -7, 3) \u3002<br><\/em><em> \u793a\u4f8b 2\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1anums = [1,17,5,10,13,15,10,5,16,8]<br><\/em><em> \u8f93\u51fa\uff1a7<br><\/em><em> \u89e3\u91ca\uff1a\u8fd9\u4e2a\u5e8f\u5217\u5305\u542b\u51e0\u4e2a\u957f\u5ea6\u4e3a 7 \u6446\u52a8\u5e8f\u5217\u3002<br><\/em><em> \u5176\u4e2d\u4e00\u4e2a\u662f [1, 17, 10, 13, 10, 16, 8] \uff0c\u5404\u5143\u7d20\u4e4b\u95f4\u7684\u5dee\u503c\u4e3a (16, -7, 3, -3, 6, -8) \u3002<br><\/em><em> \u793a\u4f8b 3\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1anums = [1,2,3,4,5,6,7,8,9]<br><\/em><em> \u8f93\u51fa\uff1a2<br><\/em><em><br><\/em><em><br><\/em><em> \u63d0\u793a\uff1a<br><\/em><em><br><\/em><em> 1 &lt;= nums.length &lt;= 1000<br><\/em><em> 0 &lt;= nums[i] &lt;= 1000<br><\/em><em><br><\/em><em><br><\/em><em> * <\/em><strong><em>@author <\/em><\/strong><em>zeroheart<br><\/em><em> *<br><\/em><em> *\/<br><\/em>public class Question376 {<br><br>   public int wiggleMaxLength(int[] nums) {<br>      \/\/ \u8fd9\u9898\u8fd8\u662f\u7528\u8d2a\u5fc3\u5427\u3002\u3002\u3002<br>      int len = nums.length;<br>      if(len&lt;2) return len;<br><br>      int max = 1;<br>      int diff = 0;<br>      int preDiff = nums[1] - nums[0];<br><br>      if(preDiff != 0) max = 2;<br><br>      for(int i = 2; i&lt;len; i++){<br>         diff = nums[i] - nums[i-1];<br>         if((diff &gt; 0 &amp;&amp; preDiff&lt;=0) || (diff &lt; 0 &amp;&amp; preDiff&gt;=0)){<br>            max++;<br>            preDiff = diff;<br>         }<br>      }<br><br>      return max;<br>   }<br><br>   public static void main(String args[]){<br>   }<br>}<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>300. \u6700\u957f\u9012\u589e\u5b50\u5e8f\u5217 \u7ecf\u5178\u9898\uff0c\u80cc\u90fd\u8981\u80cc\u5f97 \/** * 300. \u6700\u957f\u9012\u589e\u5b50\u5e8f\u5217 \u7ed9\u4f60\u4e00\u4e2a\u6574\u6570\u6570\u7ec4 nums [&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,167],"_links":{"self":[{"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2803"}],"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=2803"}],"version-history":[{"count":3,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2803\/revisions"}],"predecessor-version":[{"id":2806,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2803\/revisions\/2806"}],"wp:attachment":[{"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2803"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2803"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2803"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}