{"id":2657,"date":"2022-04-08T15:08:38","date_gmt":"2022-04-08T07:08:38","guid":{"rendered":"https:\/\/www.zeroheart.xyz\/wordpress\/?p=2657"},"modified":"2022-04-08T17:12:10","modified_gmt":"2022-04-08T09:12:10","slug":"dp%e7%ac%ac%e5%8d%81%e5%a4%a9","status":"publish","type":"post","link":"https:\/\/www.zeroheart.xyz\/wordpress\/?p=2657","title":{"rendered":"dp\u7b2c\u5341\u5929"},"content":{"rendered":"\n<p><a href=\"https:\/\/leetcode-cn.com\/problems\/arithmetic-slices\/\">413. \u7b49\u5dee\u6570\u5217\u5212\u5206<\/a><\/p>\n\n\n\n<p>\u8fd9\u9898\u8f93\u51fa\u662fdp\u6570\u7ec4\u4e4b\u548c\uff0c\u53ef\u4ee5\u9000\u5316\u6210\u4e00\u4e2a\u5e38\u6570\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>\/**<br><\/em><em> 413. \u7b49\u5dee\u6570\u5217\u5212\u5206<br><\/em><em> \u5982\u679c\u4e00\u4e2a\u6570\u5217 \u81f3\u5c11\u6709\u4e09\u4e2a\u5143\u7d20 \uff0c\u5e76\u4e14\u4efb\u610f\u4e24\u4e2a\u76f8\u90bb\u5143\u7d20\u4e4b\u5dee\u76f8\u540c\uff0c\u5219\u79f0\u8be5\u6570\u5217\u4e3a\u7b49\u5dee\u6570\u5217\u3002<br><\/em><em><br><\/em><em> \u4f8b\u5982\uff0c[1,3,5,7,9]\u3001[7,7,7,7] \u548c [3,-1,-5,-9] \u90fd\u662f\u7b49\u5dee\u6570\u5217\u3002<br><\/em><em> \u7ed9\u4f60\u4e00\u4e2a\u6574\u6570\u6570\u7ec4 nums \uff0c\u8fd4\u56de\u6570\u7ec4 nums \u4e2d\u6240\u6709\u4e3a\u7b49\u5dee\u6570\u7ec4\u7684 \u5b50\u6570\u7ec4 \u4e2a\u6570\u3002<br><\/em><em><br><\/em><em> \u5b50\u6570\u7ec4 \u662f\u6570\u7ec4\u4e2d\u7684\u4e00\u4e2a\u8fde\u7eed\u5e8f\u5217\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,4]<br><\/em><em> \u8f93\u51fa\uff1a3<br><\/em><em> \u89e3\u91ca\uff1anums \u4e2d\u6709\u4e09\u4e2a\u5b50\u7b49\u5dee\u6570\u7ec4\uff1a[1, 2, 3]\u3001[2, 3, 4] \u548c [1,2,3,4] \u81ea\u8eab\u3002<br><\/em><em> \u793a\u4f8b 2\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1anums = [1]<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;= 5000<br><\/em><em> -1000 &lt;= nums[i] &lt;= 1000<br><\/em><em><br><\/em><em> * <\/em><strong><em>@author <\/em><\/strong><em>zeroheart<br><\/em><em> *<br><\/em><em> *\/<br><\/em>public class Question413 {<br>    public static int numberOfArithmeticSlices(int[] nums) {<br>        \/\/ \u5b9a\u4e49dp[i] \u662f\u4ee5 A[i]A[i] \u4e3a\u7ec8\u70b9\u7684\u7b49\u5dee\u6570\u5217\u7684\u4e2a\u6570\u3002<br><br>        int len = nums.length;<br>        if(len&lt;3) return 0;<br>        int[] dp = new int[len+1];<br>        dp[0] = dp[1] = 0;<br><br>        for(int i = 2; i&lt;len; i++){<br>            if(nums[i-2] + nums[i] == 2 * nums[i-1]){<br>                dp[i] = dp[i-1] + 1;<br>                \/\/ dp[i-1] = dp[i-2] + 1;\/\/\u8fd9\u91cc\u867d\u7136\u4f1a\u8986\u76d6\u6389dp[1]\uff0c\u4e0d\u8fc7\u4e5f\u4e0d\u5f71\u54cd\u3002\u4e3b\u8981\u662f\u9632\u6b62\u6ea2\u51fa<br>            }<br>        }<br>        int sum = Arrays.<em>stream<\/em>(dp).sum();<br>        return sum;<br>    }<br><br>    public static void main(String[] args) {<br>        <em>numberOfArithmeticSlices<\/em>(new int[]{1,2,3,4});<br>    }<br>}<\/pre>\n\n\n\n<p><a href=\"https:\/\/leetcode-cn.com\/problems\/decode-ways\/\">91. \u89e3\u7801\u65b9\u6cd5<\/a><\/p>\n\n\n\n<p>\u8fd9\u9898\u5404\u79cd\u8fb9\u754c\u5904\u7406\uff0c\u6700\u7ec8\u8fd8\u662f2020\u5e74\u53c2\u8003\u7684\u4e00\u4e2a\u7248\u672c\u66f4\u52a0\u5bb9\u6613\u7406\u89e3\u3002\u8fd9\u4e2a\u662f\u722c\u697c\u68af\u7684\u589e\u5f3a\u7248\uff0c\u6709\u7684\u53ef\u4ee5\u5206\u5f00\u89e3\u7801\uff0c\u6709\u7684\u5fc5\u987b\u4e24\u4e2a\u4e00\u8d77\u89e3\u7801\u3002<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"><em>\/**<br><\/em><em> 91. \u89e3\u7801\u65b9\u6cd5<br><\/em><em> \u4e00\u6761\u5305\u542b\u5b57\u6bcd A-Z \u7684\u6d88\u606f\u901a\u8fc7\u4ee5\u4e0b\u6620\u5c04\u8fdb\u884c\u4e86 \u7f16\u7801 \uff1a<br><\/em><em><br><\/em><em> 'A' -&gt; \"1\"<br><\/em><em> 'B' -&gt; \"2\"<br><\/em><em> ...<br><\/em><em> 'Z' -&gt; \"26\"<br><\/em><em> \u8981 \u89e3\u7801 \u5df2\u7f16\u7801\u7684\u6d88\u606f\uff0c\u6240\u6709\u6570\u5b57\u5fc5\u987b\u57fa\u4e8e\u4e0a\u8ff0\u6620\u5c04\u7684\u65b9\u6cd5\uff0c\u53cd\u5411\u6620\u5c04\u56de\u5b57\u6bcd\uff08\u53ef\u80fd\u6709\u591a\u79cd\u65b9\u6cd5\uff09\u3002\u4f8b\u5982\uff0c\"11106\" \u53ef\u4ee5\u6620\u5c04\u4e3a\uff1a<br><\/em><em><br><\/em><em> \"AAJF\" \uff0c\u5c06\u6d88\u606f\u5206\u7ec4\u4e3a (1 1 10 6)<br><\/em><em> \"KJF\" \uff0c\u5c06\u6d88\u606f\u5206\u7ec4\u4e3a (11 10 6)<br><\/em><em> \u6ce8\u610f\uff0c\u6d88\u606f\u4e0d\u80fd\u5206\u7ec4\u4e3a  (1 11 06) \uff0c\u56e0\u4e3a \"06\" \u4e0d\u80fd\u6620\u5c04\u4e3a \"F\" \uff0c\u8fd9\u662f\u7531\u4e8e \"6\" \u548c \"06\" \u5728\u6620\u5c04\u4e2d\u5e76\u4e0d\u7b49\u4ef7\u3002<br><\/em><em><br><\/em><em> \u7ed9\u4f60\u4e00\u4e2a\u53ea\u542b\u6570\u5b57\u7684 \u975e\u7a7a \u5b57\u7b26\u4e32 s \uff0c\u8bf7\u8ba1\u7b97\u5e76\u8fd4\u56de \u89e3\u7801 \u65b9\u6cd5\u7684 \u603b\u6570 \u3002<br><\/em><em><br><\/em><em> \u9898\u76ee\u6570\u636e\u4fdd\u8bc1\u7b54\u6848\u80af\u5b9a\u662f\u4e00\u4e2a 32 \u4f4d \u7684\u6574\u6570\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\uff1as = \"12\"<br><\/em><em> \u8f93\u51fa\uff1a2<br><\/em><em> \u89e3\u91ca\uff1a\u5b83\u53ef\u4ee5\u89e3\u7801\u4e3a \"AB\"\uff081 2\uff09\u6216\u8005 \"L\"\uff0812\uff09\u3002<br><\/em><em> \u793a\u4f8b 2\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1as = \"226\"<br><\/em><em> \u8f93\u51fa\uff1a3<br><\/em><em> \u89e3\u91ca\uff1a\u5b83\u53ef\u4ee5\u89e3\u7801\u4e3a \"BZ\" (2 26), \"VF\" (22 6), \u6216\u8005 \"BBF\" (2 2 6) \u3002<br><\/em><em> \u793a\u4f8b 3\uff1a<br><\/em><em><br><\/em><em> \u8f93\u5165\uff1as = \"0\"<br><\/em><em> \u8f93\u51fa\uff1a0<br><\/em><em> \u89e3\u91ca\uff1a\u6ca1\u6709\u5b57\u7b26\u6620\u5c04\u5230\u4ee5 0 \u5f00\u5934\u7684\u6570\u5b57\u3002<br><\/em><em> \u542b\u6709 0 \u7684\u6709\u6548\u6620\u5c04\u662f 'J' -&gt; \"10\" \u548c 'T'-&gt; \"20\" \u3002<br><\/em><em> \u7531\u4e8e\u6ca1\u6709\u5b57\u7b26\uff0c\u56e0\u6b64\u6ca1\u6709\u6709\u6548\u7684\u65b9\u6cd5\u5bf9\u6b64\u8fdb\u884c\u89e3\u7801\uff0c\u56e0\u4e3a\u6240\u6709\u6570\u5b57\u90fd\u9700\u8981\u6620\u5c04\u3002<br><\/em><em><br><\/em><em><br><\/em><em> \u63d0\u793a\uff1a<br><\/em><em><br><\/em><em> 1 &lt;= s.length &lt;= 100<br><\/em><em> s \u53ea\u5305\u542b\u6570\u5b57\uff0c\u5e76\u4e14\u53ef\u80fd\u5305\u542b\u524d\u5bfc\u96f6\u3002<br><\/em><em><br><\/em><em> * <\/em><strong><em>@author <\/em><\/strong><em>zeroheart<br><\/em><em> *<br><\/em><em> *\/<br><\/em>public class Question91 {<br>    public int numDecodings(String s) {<br>        if(s==null || s.length()==0 ||s.charAt(0)=='0')return 0;<br>        char[] sc = s.toCharArray();<br>        int len = sc.length;<br>        int[] dp = new int[len];<br>        if(sc[0]!='0')dp[0] = 1;<br>        if(len&gt;=2){<br>            if(sc[1]!='0')<br>                if((sc[0]=='1') || (sc[0]=='2' &amp;&amp; sc[1]&lt;='6')) dp[1] = 2;<br>                else dp[1] = 1;<br>            else {<br>                if(sc[0]=='1'||sc[0]=='2') dp[1] = 1;<br>                else return 0;<br>            }<br>        }<br>        for(int i=2; i&lt;len; i++){<br>            if(sc[i]!='0') {<br>                if((sc[i-1]=='1') || (sc[i-1]=='2' &amp;&amp; sc[i]&lt;='6')) dp[i] = dp[i-1] + dp[i-2];<br>                else dp[i] = dp[i-1];<br>            }else{<br>                if(sc[i-1]=='1'||sc[i-1]=='2') dp[i] = dp[i-2];<br>                else return 0;<br>            }<br>        }<br>        return dp[len-1];<br>    }<br><br>    public static void main(String[] args) {<br>    }<br>}<\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>413. \u7b49\u5dee\u6570\u5217\u5212\u5206 \u8fd9\u9898\u8f93\u51fa\u662fdp\u6570\u7ec4\u4e4b\u548c\uff0c\u53ef\u4ee5\u9000\u5316\u6210\u4e00\u4e2a\u5e38\u6570\u3002 \/** 413. \u7b49\u5dee\u6570\u5217\u5212\u5206 \u5982\u679c\u4e00\u4e2a [&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],"_links":{"self":[{"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2657"}],"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=2657"}],"version-history":[{"count":3,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2657\/revisions"}],"predecessor-version":[{"id":2660,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/2657\/revisions\/2660"}],"wp:attachment":[{"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2657"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2657"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zeroheart.xyz\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2657"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}