{"id":99755,"date":"2025-03-02T14:59:57","date_gmt":"2025-03-02T11:29:57","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/leetcode-15-3sum-3j8e\/"},"modified":"2025-03-02T14:59:57","modified_gmt":"2025-03-02T11:29:57","slug":"leetcode-15-3sum-3j8e","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/leetcode-15-3sum-3j8e\/","title":{"rendered":"Leetcode &#8211; 15. 3Sum"},"content":{"rendered":"<p><strong>\u06a9\u062f \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a<\/strong>\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight javascript\"><code><span class=\"cm\">\/**\n * @param {number[]} nums\n * @return {number[][]}\n *\/<\/span>\n<span class=\"kd\">var<\/span> <span class=\"nx\">threeSum<\/span> <span class=\"o\">=<\/span> <span class=\"nf\">function <\/span><span class=\"p\">(<\/span><span class=\"nx\">nums<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"kd\">let<\/span> <span class=\"nx\">res<\/span> <span class=\"o\">=<\/span> <span class=\"p\">[];<\/span>\n    <span class=\"nx\">nums<\/span><span class=\"p\">.<\/span><span class=\"nf\">sort<\/span><span class=\"p\">((<\/span><span class=\"nx\">a<\/span><span class=\"p\">,<\/span> <span class=\"nx\">b<\/span><span class=\"p\">)<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"nx\">a<\/span> <span class=\"o\">-<\/span> <span class=\"nx\">b<\/span><span class=\"p\">);<\/span>\n    <span class=\"k\">for <\/span><span class=\"p\">(<\/span><span class=\"kd\">let<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">=<\/span> <span class=\"mi\">0<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">&lt;<\/span> <span class=\"nx\">nums<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span><span class=\"p\">;<\/span> <span class=\"nx\">i<\/span><span class=\"o\">++<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">i<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"nx\">nums<\/span><span class=\"p\">[<\/span><span class=\"nx\">i<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">==<\/span> <span class=\"nx\">nums<\/span><span class=\"p\">[<\/span><span class=\"nx\">i<\/span><span class=\"p\">])<\/span> <span class=\"p\">{<\/span>\n            <span class=\"k\">continue<\/span><span class=\"p\">;<\/span>\n        <span class=\"p\">}<\/span>\n        <span class=\"kd\">let<\/span> <span class=\"nx\">p1<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">i<\/span> <span class=\"o\">+<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span>\n        <span class=\"kd\">let<\/span> <span class=\"nx\">p2<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">nums<\/span><span class=\"p\">.<\/span><span class=\"nx\">length<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span><span class=\"p\">;<\/span>\n        <span class=\"k\">while <\/span><span class=\"p\">(<\/span><span class=\"nx\">p1<\/span> <span class=\"o\">&lt;<\/span> <span class=\"nx\">p2<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n            <span class=\"kd\">let<\/span> <span class=\"nx\">threesum<\/span> <span class=\"o\">=<\/span> <span class=\"nx\">nums<\/span><span class=\"p\">[<\/span><span class=\"nx\">p1<\/span><span class=\"p\">]<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">nums<\/span><span class=\"p\">[<\/span><span class=\"nx\">p2<\/span><span class=\"p\">]<\/span> <span class=\"o\">+<\/span> <span class=\"nx\">nums<\/span><span class=\"p\">[<\/span><span class=\"nx\">i<\/span><span class=\"p\">];<\/span>\n            <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">threesum<\/span> <span class=\"o\">&gt;<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n                <span class=\"nx\">p2<\/span><span class=\"o\">--<\/span><span class=\"p\">;<\/span>\n            <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"k\">if <\/span><span class=\"p\">(<\/span><span class=\"nx\">threesum<\/span> <span class=\"o\">&lt;<\/span> <span class=\"mi\">0<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n                <span class=\"nx\">p1<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span>\n            <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n                <span class=\"nx\">res<\/span><span class=\"p\">.<\/span><span class=\"nf\">push<\/span><span class=\"p\">([<\/span><span class=\"nx\">nums<\/span><span class=\"p\">[<\/span><span class=\"nx\">i<\/span><span class=\"p\">],<\/span> <span class=\"nx\">nums<\/span><span class=\"p\">[<\/span><span class=\"nx\">p1<\/span><span class=\"p\">],<\/span> <span class=\"nx\">nums<\/span><span class=\"p\">[<\/span><span class=\"nx\">p2<\/span><span class=\"p\">]]);<\/span>\n                <span class=\"nx\">p1<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span>\n                <span class=\"k\">while <\/span><span class=\"p\">(<\/span><span class=\"nx\">p1<\/span> <span class=\"o\">&lt;<\/span> <span class=\"nx\">p2<\/span> <span class=\"o\">&amp;&amp;<\/span> <span class=\"nx\">nums<\/span><span class=\"p\">[<\/span><span class=\"nx\">p1<\/span> <span class=\"o\">-<\/span> <span class=\"mi\">1<\/span><span class=\"p\">]<\/span> <span class=\"o\">==<\/span> <span class=\"nx\">nums<\/span><span class=\"p\">[<\/span><span class=\"nx\">p1<\/span><span class=\"p\">])<\/span> <span class=\"p\">{<\/span>\n                    <span class=\"nx\">p1<\/span><span class=\"o\">++<\/span><span class=\"p\">;<\/span>\n                <span class=\"p\">}<\/span>\n            <span class=\"p\">}<\/span>\n        <span class=\"p\">}<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"k\">return<\/span> <span class=\"nx\">res<\/span><span class=\"p\">;<\/span>\n\n<span class=\"p\">};<\/span>\n<\/code><\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u06a9\u062f \u062c\u0627\u0648\u0627 \u0627\u0633\u06a9\u0631\u06cc\u067e\u062a \/** * @param {number[]} nums * @return {number[][]} *\/ var threeSum = function (nums) { let res = []; nums.sort((a, b) =&gt; a &#8211; b); for (let i = 0; i &lt; nums.length; i++) { if (i &gt; 0 &amp;&amp; nums[i &#8211; 1] == nums[i]) { continue; } let p1 = i &hellip;<\/p>\n","protected":false},"author":2,"featured_media":99756,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-99755","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/99755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=99755"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/99755\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/99756"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=99755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=99755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=99755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}