{"id":271,"date":"2022-01-12T06:31:17","date_gmt":"2022-01-11T22:31:17","guid":{"rendered":"https:\/\/www.wennroy.com\/?p=271"},"modified":"2022-01-12T06:37:03","modified_gmt":"2022-01-11T22:37:03","slug":"334-increasing-triplet-subsequence","status":"publish","type":"post","link":"https:\/\/wennroy.com\/index.php\/2022\/01\/12\/334-increasing-triplet-subsequence\/","title":{"rendered":"334. \u9012\u589e\u7684\u4e09\u5143\u5b50\u5e8f\u5217"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u7ed9\u4f60\u4e00\u4e2a\u6574\u6570\u6570\u7ec4&nbsp;nums \uff0c\u5224\u65ad\u8fd9\u4e2a\u6570\u7ec4\u4e2d\u662f\u5426\u5b58\u5728\u957f\u5ea6\u4e3a 3 \u7684\u9012\u589e\u5b50\u5e8f\u5217\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5982\u679c\u5b58\u5728\u8fd9\u6837\u7684\u4e09\u5143\u7ec4\u4e0b\u6807 (i, j, k)&nbsp;\u4e14\u6ee1\u8db3 i &lt; j &lt; k \uff0c\u4f7f\u5f97&nbsp;nums[i] &lt; nums[j] &lt; nums[k] \uff0c\u8fd4\u56de true \uff1b\u5426\u5219\uff0c\u8fd4\u56de false \u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5341\u5206\u949f\u5199\u51fa\u6765\u7684\u8d39\u65f6\u8d39\u7a7a\u95f4\u89e3\u6cd5\uff1a<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class Solution:\n    def increasingTriplet(self, nums: List[int]) -> bool:\n        n = len(nums)\n        if n &lt; 3:\n            return False\n        ## DP1 \u52a8\u6001\u89c4\u5212\uff0c\u5b9a\u4e49\u7b2ci\u4e2a\u503c\u4e3a\u5728\u8fd9\u4e2a\u6570\u5de6\u8fb9\u542b\u8fd9\u4e2a\u6570\u80fd\u8fbe\u5230\u7684\u6700\u5c0f\u503c\n        dp1 = [nums[0]] * n\n        for i in range(1,n):\n            dp1[i] = min(dp1[i-1], nums[i])\n        ## DP2 \u52a8\u6001\u89c4\u5212\uff0c\u5b9a\u4e49\u7b2ci\u4e2a\u503c\u4e3a\u5728\u8fd9\u4e2a\u6570\u53f3\u8fb9\u542b\u8fd9\u4e2a\u6570\u80fd\u8fbe\u5230\u7684\u6700\u5927\u503c\n        dp2 = [nums[-1]] * n\n        for i in range(n-2,-1,-1):\n            dp2[i] = max(dp2[i+1], nums[i])\n        \n        for i in range(n):\n            if nums[i] > dp1[i] and nums[i] &lt; dp2[i]:\n                return True\n        return False<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u6267\u884c\u7528\u65f6\uff1a<\/strong>224 ms, \u5728\u6240\u6709\u00a0Python3\u00a0\u63d0\u4ea4\u4e2d\u51fb\u8d25\u4e867.07%\u7684\u7528\u6237<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5185\u5b58\u6d88\u8017\uff1a<\/strong>27.5 MB, \u5728\u6240\u6709\u00a0Python3\u00a0\u63d0\u4ea4\u4e2d\u51fb\u8d25\u4e865.12%\u7684\u7528\u6237<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5176\u5b9e\u4e5f\u5c31\u662f\u5b98\u65b9\u6807\u7b54\u7684<strong>\u53cc\u5411\u904d\u5386\u6cd5\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class Solution:\n    def increasingTriplet(self, nums: List[int]) -> bool:\n        n = len(nums)\n        if n &lt; 3:\n            return False\n        leftMin = [0] * n\n        leftMin[0] = nums[0]\n        for i in range(1, n):\n            leftMin[i] = min(leftMin[i - 1], nums[i])\n        rightMax = [0] * n\n        rightMax[n - 1] = nums[n - 1]\n        for i in range(n - 2, -1, -1):\n            rightMax[i] = max(rightMax[i + 1], nums[i])\n        for i in range(1, n - 1):\n            if leftMin[i - 1] &lt; nums[i] &lt; rightMax[i + 1]:\n                return True\n        return False<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u8d2a\u5fc3\u7b97\u6cd5\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">class Solution:\n    def increasingTriplet(self, nums: List[int]) -> bool:\n        n = len(nums)\n        if n &lt; 3:\n            return False\n        first, second = nums[0], float('inf')\n        for i in range(1, n):\n            num = nums[i]\n            if num > second:\n                return True\n            if num > first:\n                second = num\n            else:\n                first = num\n        return False<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u8d2a\u5fc3\u7b97\u6cd5\u6bd4\u8f83\u5de7\u7684\u4e00\u70b9\u5c31\u662f\uff0c\u51fa\u73b0\u7b2c\u4e09\u4e2a\u6570\u7684\u60c5\u51b5\u3002\u57fa\u4e8e\u7b2c\u4e09\u4e2a\u6570\u4e00\u5b9a\u4f1a\u6bd4\u7b2c\u4e8c\u4e2a\u6570\u5c0f\uff0c\u6240\u4ee5\u53ef\u4ee5\u53d6\u7f14\u7b2c\u4e8c\u4e2a\u6570\u6216\u8005\u7b2c\u4e00\u4e2a\u6570\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u6765\u6e90\uff1a\u529b\u6263\uff08LeetCode\uff09<br>\u94fe\u63a5\uff1a<a href=\"https:\/\/leetcode-cn.com\/problems\/increasing-triplet-subsequence\">https:\/\/leetcode-cn.com\/problems\/increasing-triplet-subsequence<\/a><br>\u8457\u4f5c\u6743\u5f52\u9886\u6263\u7f51\u7edc\u6240\u6709\u3002\u5546\u4e1a\u8f6c\u8f7d\u8bf7\u8054\u7cfb\u5b98\u65b9\u6388\u6743\uff0c\u975e\u5546\u4e1a\u8f6c\u8f7d\u8bf7\u6ce8\u660e\u51fa\u5904\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7ed9\u4f60\u4e00\u4e2a\u6574\u6570\u6570\u7ec4&nbsp;nums \uff0c\u5224\u65ad\u8fd9\u4e2a\u6570 &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[6,28,18],"tags":[],"class_list":["post-271","post","type-post","status-publish","format-standard","hentry","category-leetcode","category-greedy-algorithm","category-ergodic"],"_links":{"self":[{"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/posts\/271","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/comments?post=271"}],"version-history":[{"count":2,"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/posts\/271\/revisions"}],"predecessor-version":[{"id":273,"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/posts\/271\/revisions\/273"}],"wp:attachment":[{"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/media?parent=271"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/categories?post=271"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wennroy.com\/index.php\/wp-json\/wp\/v2\/tags?post=271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}