{"id":602,"date":"2026-07-09T12:54:05","date_gmt":"2026-07-09T04:54:05","guid":{"rendered":"https:\/\/mitongxue.cn\/?p=602"},"modified":"2026-07-09T18:50:06","modified_gmt":"2026-07-09T10:50:06","slug":"%e5%9b%9e%e6%ba%af%e7%ae%97%e6%b3%95","status":"publish","type":"post","link":"https:\/\/mitongxue.cn\/index.php\/2026\/07\/09\/%e5%9b%9e%e6%ba%af%e7%ae%97%e6%b3%95\/","title":{"rendered":"\u56de\u6eaf\u7b97\u6cd5"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u4e09\u5927\u6838\u5fc3\u8981\u7d20<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u8def\u5f84 path<\/strong>\uff1a\u5f53\u524d\u5df2\u7ecf\u505a\u51fa\u7684\u9009\u62e9<\/li>\n\n\n\n<li><strong>\u9009\u62e9\u5217\u8868 choices<\/strong>\uff1a\u5f53\u524d\u53ef\u505a\u7684\u6240\u6709\u9009\u9879<\/li>\n\n\n\n<li><strong>\u7ed3\u675f\u6761\u4ef6<\/strong>\uff1apath \u6ee1\u8db3\u8981\u6c42\uff0c\u8bb0\u5f55\u7ed3\u679c<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\u901a\u7528\u4ee3\u7801\u6a21\u677f<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>\/\/ \u5b58\u653e\u6700\u7ec8\u5168\u90e8\u7b54\u6848\nconst res = &#91;];\nfunction backtrack(path, choices) {\n    \/\/ 1. \u7ec8\u6b62\u6761\u4ef6\uff1a\u6ee1\u8db3\u8981\u6c42\uff0c\u4fdd\u5b58\u526f\u672c\uff08\u5173\u952e\uff01\u4e0d\u80fd\u76f4\u63a5\u5b58path\uff09\n    if (\u6ee1\u8db3\u6761\u4ef6) {\n        res.push(&#91;...path]); \n        return;\n    }\n    \/\/ 2. \u904d\u5386\u6240\u6709\u53ef\u9009\u5206\u652f\n    for (let i = 0; i &lt; choices.length; i++) {\n        const cur = choices&#91;i];\n        \/\/ \u526a\u679d\uff1a\u5f53\u524d\u5206\u652f\u4e0d\u7b26\u5408\uff0c\u76f4\u63a5\u8df3\u8fc7\uff0c\u51cf\u5c11\u5faa\u73af\n        if (\u4e0d\u5408\u6cd5) continue;\n        \n        \/\/ \u505a\u9009\u62e9\n        path.push(cur);\n        \/\/ \u9012\u5f52\u8fdb\u5165\u4e0b\u4e00\u5c42\n        backtrack(path, \u65b0\u7684\u53ef\u9009\u96c6\u5408);\n        \/\/ \u64a4\u9500\u9009\u62e9\uff08\u56de\u6eaf\u6838\u5fc3\uff09\n        path.pop();\n    }\n}\n\/\/ \u542f\u52a8\nbacktrack(&#91;], \u521d\u59cb\u9009\u62e9\u5217\u8868);\nreturn res;<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u9002\u7528\u573a\u666f<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\u6392\u5217\u7c7b\uff1a\u5168\u6392\u5217\u3001\u5168\u6392\u5217\u53bb\u91cd<\/li>\n\n\n\n<li>\u7ec4\u5408\u7c7b\uff1a\u7ec4\u5408\u3001\u5b50\u96c6\u3001\u5b50\u96c6\u53bb\u91cd<\/li>\n\n\n\n<li>\u5206\u5272\u7c7b\uff1a\u5206\u5272\u56de\u6587\u4e32\u3001\u5355\u8bcd\u62c6\u5206<\/li>\n\n\n\n<li>\u68cb\u76d8\u7c7b\uff1aN \u7687\u540e\u3001\u6570\u72ec<\/li>\n\n\n\n<li>\u8def\u5f84\u7c7b\uff1a\u77e9\u9635\u8def\u5f84\u3001\u8ff7\u5bab\u641c\u7d22<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/leetcode.cn\/problems\/permutation-ii-lcci\/\">\u6709\u91cd\u590d\u5b57\u7b26\u4e32\u7684\u6392\u5217\u7ec4\u5408<\/a><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u793a\u4f8b 1\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong> \u8f93\u5165<\/strong>\uff1aS = \"qqe\"\n<strong> \u8f93\u51fa<\/strong>\uff1a&#91;\"eqq\",\"qeq\",\"qqe\"]<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>\nfunction pailie(){\n    \/\/ \u8f93\u5165\uff1aS = \"qqe\"\n    \/\/ \u8f93\u51fa\uff1a&#91;\"eqq\",\"qeq\",\"qqe\"]\n    const s = \"qeq\".split('').sort().join('');\n    const res = &#91;];\n    const path = &#91;];\n    const used = new Array(s.length).fill(false);\n    const backtrack = () =&gt; {\n        \/\/ 1. \u7ec8\u6b62\u6761\u4ef6\uff1a\u6ee1\u8db3\u8981\u6c42\uff0c\u4fdd\u5b58\u526f\u672c\uff08\u5173\u952e\uff01\u4e0d\u80fd\u76f4\u63a5\u5b58path\uff09\n        if (path.length === s.length) {\n            res.push(path.join('')); \n            return;\n        }\n        \/\/ 2. \u904d\u5386\u6240\u6709\u53ef\u9009\u5206\u652f\n        for (let i = 0; i &lt; s.length; i++) {\n            const cur = s&#91;i];\n            \/\/ \/\/ \u526a\u679d\uff1a\u5f53\u524d\u5206\u652f\u4e0d\u7b26\u5408\uff0c\u76f4\u63a5\u8df3\u8fc7\uff0c\u51cf\u5c11\u5faa\u73af\n            if (used&#91;i]) continue;\n            if(i&gt;0 &amp;&amp; s&#91;i-1] === s&#91;i] &amp;&amp; !used&#91;i-1]) continue;\n            used&#91;i] = true;\n            \/\/ \u505a\u9009\u62e9\n            path.push(cur);\n            \/\/ \u9012\u5f52\u8fdb\u5165\u4e0b\u4e00\u5c42\n            backtrack()\n            \/\/ \u64a4\u9500\u9009\u62e9\uff08\u56de\u6eaf\u6838\u5fc3\uff09\n            path.pop();\n            used&#91;i] = false;\n        }\n    }\n    \/\/ \u542f\u52a8\n    backtrack();\n    console.log(res,'res');\n}\n<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>var permutation = function(S) {\n    const needS = S.split(\"\").sort().join(\"\");\n    const res= &#91;];\n    const aset = new Set();\n    const used = new Array(S.length).fill(0);\n    const path=&#91;];\n    const back=()=&gt;{\n        if(path.length===needS.length){\n            if(aset.has(path.join(\"\"))){\n                return;\n            }\n            aset.add(path.join(\"\"));\n            res.push(path.join(\"\"));\n            return;\n        }\n        for(let i=0;i&lt;needS.length;i++){\n            if(used&#91;i]) continue;\n            path.push(needS&#91;i])\n            used&#91;i] =1;\n            back();\n            path.pop();\n            used&#91;i] = 0;\n        }\n\n    }\n    back();\n    return res;\n};<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">\u7ed9\u5b9a\u4e24\u4e2a\u6574\u6570&nbsp;<code>n<\/code>&nbsp;\u548c&nbsp;<code>k<\/code>\uff0c\u8fd4\u56de\u8303\u56f4&nbsp;<code>[1, n]<\/code>&nbsp;\u4e2d\u6240\u6709\u53ef\u80fd\u7684&nbsp;<code>k<\/code>&nbsp;\u4e2a\u6570\u7684\u7ec4\u5408\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f60\u53ef\u4ee5\u6309&nbsp;<strong>\u4efb\u4f55\u987a\u5e8f<\/strong>&nbsp;\u8fd4\u56de\u7b54\u6848\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u793a\u4f8b 1\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>\u8f93\u5165\uff1a<\/strong>n = 4, k = 2\n<strong>\u8f93\u51fa\uff1a<\/strong>\n&#91;\n  &#91;2,4],\n  &#91;3,4],\n  &#91;2,3],\n  &#91;1,2],\n  &#91;1,3],\n  &#91;1,4],\n]<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u793a\u4f8b 2\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><strong>\u8f93\u5165\uff1a<\/strong>n = 1, k = 1\n<strong>\u8f93\u51fa\uff1a<\/strong>&#91;&#91;1]]<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code>var combine = function(n, k) {\n\n    const path = &#91;];\n    const res = &#91;];\n    \n    const back=(start)=>{\n        if(path.length===k){\n            res.push(&#91;...path]);\n            return;\n        }\n        for(let i=start;i&lt;n;i++){\n          path.push(i+1);\n          back(i+1);\n          path.pop(); \n        }        \n\n    }\n    back(0);\n    \/\/console.log(res,'res');\n    return res;\n};<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\u533a\u522b<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">1.  <strong>\u4f20 start\u3001i \u4ece start \u5f00\u59cb\u3001\u9012\u5f52\u4f20 i+1 \u2192 \u6c42\u3010\u7ec4\u5408 \/ \u5b50\u96c6\u3011\uff0c\u4e0d\u5141\u8bb8\u91cd\u590d\u987a\u5e8f\uff0c\u4e0d\u56de\u5934\u9009\u524d\u9762\u6570\u5b57<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. <strong>i \u6c38\u8fdc\u4ece 0 \u5f00\u59cb\u3001\u4e0d\u4f20 start \u2192 \u6c42\u3010\u5168\u6392\u5217\u3011\uff0c\u53ef\u4ee5\u91cd\u590d\u8c03\u6362\u987a\u5e8f\uff0c\u6bcf\u4e2a\u4f4d\u7f6e\u90fd\u80fd\u91cd\u65b0\u9009\u5168\u90e8\u5143\u7d20<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4e09\u5927\u6838\u5fc3\u8981\u7d20 \u901a\u7528\u4ee3\u7801\u6a21\u677f \u9002\u7528\u573a\u666f \u6709\u91cd\u590d\u5b57\u7b26\u4e32..<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,11,51],"tags":[],"class_list":["post-602","post","type-post","status-publish","format-standard","hentry","category-js","category-front","category-51"],"featured_image_urls":{"full":"","thumbnail":"","medium":"","medium_large":"","large":"","1536x1536":"","2048x2048":""},"author_info":{"info":["\u9648 \u67d0\u4eba"]},"category_info":"<a href=\"https:\/\/mitongxue.cn\/index.php\/category\/front\/js\/\" rel=\"category tag\">JS<\/a> <a href=\"https:\/\/mitongxue.cn\/index.php\/category\/front\/\" rel=\"category tag\">\u524d\u7aef<\/a> <a href=\"https:\/\/mitongxue.cn\/index.php\/category\/front\/%e7%89%9b%e5%ae%a2\/\" rel=\"category tag\">\u725b\u5ba2<\/a>","tag_info":"\u725b\u5ba2","comment_count":"0","_links":{"self":[{"href":"https:\/\/mitongxue.cn\/index.php\/wp-json\/wp\/v2\/posts\/602","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mitongxue.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mitongxue.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mitongxue.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mitongxue.cn\/index.php\/wp-json\/wp\/v2\/comments?post=602"}],"version-history":[{"count":4,"href":"https:\/\/mitongxue.cn\/index.php\/wp-json\/wp\/v2\/posts\/602\/revisions"}],"predecessor-version":[{"id":608,"href":"https:\/\/mitongxue.cn\/index.php\/wp-json\/wp\/v2\/posts\/602\/revisions\/608"}],"wp:attachment":[{"href":"https:\/\/mitongxue.cn\/index.php\/wp-json\/wp\/v2\/media?parent=602"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mitongxue.cn\/index.php\/wp-json\/wp\/v2\/categories?post=602"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mitongxue.cn\/index.php\/wp-json\/wp\/v2\/tags?post=602"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}