{"id":158997,"date":"2020-09-21T14:45:32","date_gmt":"2020-09-21T06:45:32","guid":{"rendered":"http:\/\/4563.org\/?p=158997"},"modified":"2020-09-21T14:45:32","modified_gmt":"2020-09-21T06:45:32","slug":"facebook-%e9%9d%a2%e8%af%95%e9%a2%98%ef%bc%9a%e5%ad%90%e9%9b%86-ii","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=158997","title":{"rendered":"Facebook \u9762\u8bd5\u9898\uff1a\u5b50\u96c6 II"},"content":{"rendered":"<div>\n<div>\n<div>\n<h1>                  Facebook \u9762\u8bd5\u9898\uff1a\u5b50\u96c6 II               <\/h1>\n<p> <\/p>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : zzzrf <\/span>  <span><i><\/i> 4<\/span> <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div isfirst=\"1\"> <\/p>\n<p>FB \u8fd8\u662f\u6bd4\u8f83\u7231\u8003\u539f\u9898\u7684<\/p>\n<p>\u7ed9\u5b9a\u4e00\u4e2a\u53ef\u80fd\u5177\u6709\u91cd\u590d\u6570\u5b57\u7684\u5217\u8868\uff0c\u8fd4\u56de\u5176\u6240\u6709\u53ef\u80fd\u7684\u5b50\u96c6\u3002<\/p>\n<p>\u70b9\u6b64\u505a\u9898<\/p>\n<h2>\u6837\u4f8b 1\uff1a<\/h2>\n<pre><code>\u8f93\u5165\uff1a[0] \u8f93\u51fa\uff1a [   [],   [0] ] <\/code><\/pre>\n<h2>\u6837\u4f8b 2\uff1a<\/h2>\n<pre><code>\u8f93\u5165\uff1a[1,2,2] \u8f93\u51fa\uff1a [   [2],   [1],   [1,2,2],   [2,2],   [1,2],   [] ] <\/code><\/pre>\n<h2>\u89e3\u9898\u601d\u8def<\/h2>\n<ul>\n<li>\u8fd9\u9053\u9898\u6211\u4eec\u9700\u8981\u4f7f\u7528 dfs+\u56de\u6eaf\u7684\u65b9\u6cd5\u6765\u8fdb\u884c\u6c42\u89e3\u3002<\/li>\n<li>\u7531\u4e8e\u9898\u76ee\u660e\u786e\u6307\u51fa\u5217\u8868\u4e2d\u53ef\u80fd\u6709\u91cd\u590d\u6570\u5b57\uff0c\u6240\u4ee5\u6211\u4eec\u5728 dfs \u7684\u65f6\u5019\u8981\u8fdb\u884c\u526a\u679d\u3002<\/li>\n<\/ul>\n<h2>\u7b97\u6cd5<\/h2>\n<ul>\n<li>\u5c06\u6570\u7ec4\u8fdb\u884c\u5347\u5e8f\u6392\u5217\u3002<\/li>\n<li>\u5b9a\u4e49\u4e00\u4e2a\u9012\u5f52\u65b9\u6cd5 dfs\uff0c\u53c2\u6570\u6709\uff1a\u5f53\u524d\u5b50\u96c6 subset\uff0c\u5f53\u524d\u5b50\u96c6\u957f\u5ea6 k\uff0c\u8fd4\u56de\u7ed3\u679c res \u3002 \u5c06\u5f53\u524d\u5b50\u96c6\u6dfb\u52a0\u5230 res \u4e2d\u3002 \u4ece k \u5230 len(nums)-1 \u904d\u5386\u7d22\u5f15 i \u3002 \u5982\u679c i != k \u5e76\u4e14 nums[i] == nums[i &#8211; 1]\uff0c\u8bf4\u660e nums[i]\u662f\u91cd\u590d\u5143\u7d20\uff0c\u6240\u4ee5\u6211\u4eec\u8df3\u8fc7 nums[i]\u3002 \u5c06 nums[i] \u6dfb\u52a0\u5230\u5f53\u524d\u5b50\u96c6 subset \u3002 \u8fdb\u884c\u4e0b\u4e00\u5c42\u7684\u9012\u5f52\u641c\u7d22\uff0c\u7ee7\u7eed\u5411\u5b50\u96c6\u4e2d\u6dfb\u52a0\u5143\u7d20\uff0c\u8fd9\u65f6 k \u8981\u52a0\u4e00\u3002 \u4ece subset \u4e2d\u5220\u9664 nums[i]\u8fdb\u884c\u56de\u6eaf\u3002<\/li>\n<\/ul>\n<h2>\u4e3e\u4f8b\u5206\u6790<\/h2>\n<ul>\n<li>\u5047\u8bbe nums = [1, 2, 2&#8242;]\uff0c\u9012\u5f52\u6811\u5982\u56fe\u6240\u793a\u3002\u6811\u6bcf\u6df1\u4e00\u5c42\uff0c\u5b50\u96c6\u7684\u957f\u5ea6\u5c31\u52a0\u4e00\u3002\u6bcf\u4e2a\u8282\u70b9\u90fd\u662f\u6ee1\u8db3\u6761\u4ef6\u7684\u5b50\u96c6\uff0c\u9700\u8981\u8bb0\u5f55\u5230\u7ed3\u679c res \u4e2d\u3002<\/li>\n<li>\u5176\u4e2d\u6807\u53c9\u7684\u5730\u65b9\u8fdb\u884c\u4e86\u526a\u679d\u3002\u7531\u4e8e\u6570\u7ec4\u4e2d\u6709\u4e24\u4e2a 2\uff0c\u6240\u4ee5\u5982\u679c\u4e24\u8005\u5728\u540c\u4e00\u5c42\uff0c\u53ea\u4fdd\u7559\u7b2c\u4e00\u4e2a\u3002<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"http:\/\/4563.org\/wp-content\/uploads\/2020\/09\/20200923_5f6b7dfcc2e51.png\" alt=\"Facebook \u9762\u8bd5\u9898\uff1a\u5b50\u96c6 II\" \/><\/p>\n<h2>\u590d\u6742\u5ea6\u5206\u6790<\/h2>\n<ul>\n<li>\u65f6\u95f4\u590d\u6742\u5ea6\uff1aO(n\u22172n)O(n\u22172n)\uff0c\u5176\u4e2d n \u4e3a nums \u7684\u957f\u5ea6\u3002\u751f\u6210\u6240\u6709\u5b50\u96c6\uff0c\u5e76\u590d\u5236\u5230\u8f93\u51fa\u96c6\u5408\u4e2d\u3002<\/li>\n<li>\u7a7a\u95f4\u590d\u6742\u5ea6\uff1aO(n\u22172n)O(n\u22172n)\uff0c\u5176\u4e2d n \u4e3a nums \u7684\u957f\u5ea6\u3002\u5b58\u50a8\u6240\u6709\u5b50\u96c6\uff0c\u5171 n \u4e2a\u5143\u7d20\uff0c\u6bcf\u4e2a\u5143\u7d20\u90fd\u6709\u53ef\u80fd\u5b58\u5728\u6216\u8005\u4e0d\u5b58\u5728\u3002<\/li>\n<\/ul>\n<h2>\u4ee3\u7801<\/h2>\n<pre><code>public class Solution {     \/**      * @param nums: A set of numbers.      * @return: A list of lists. All valid subsets.      *\/     public List&lt;List&lt;Integer&gt;&gt; subsetsWithDup(int[] nums) {         List&lt;List&lt;Integer&gt;&gt; res = new ArrayList&lt;&gt;();         \/\/ \u6392\u5e8f         Arrays.sort(nums);         \/\/ dfs \u641c\u7d22         Deque&lt;Integer&gt; subset = new ArrayDeque&lt;&gt;(nums.length);         dfs(nums, 0, subset, res);         return res;     }     private void dfs(int[] nums, int k, Deque&lt;Integer&gt; subset, List&lt;List&lt;Integer&gt;&gt; res) {         \/\/ \u5f53\u524d\u7ec4\u5408\u5b58\u5165 res         res.add(new ArrayList&lt;&gt;(subset));         \/\/ \u4e3a subset \u65b0\u589e\u4e00\u4f4d\u5143\u7d20         for (int i = k; i &lt; nums.length; ++i) {             \/\/ \u526a\u679d             if (i != k &amp;&amp; nums[i] == nums[i - 1]){                 continue;             }             subset.addLast(nums[i]);             \/\/ \u4e0b\u4e00\u5c42\u641c\u7d22             dfs(nums, i + 1, subset, res);             \/\/ \u56de\u6eaf             subset.removeLast();         }     } } <\/code><\/pre>\n<\/p><\/div>\n<div> <b>\u5927\u4f6c\u6709\u8a71\u8aaa<\/b> (<span>0<\/span>)        <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<ul>\n<li>\n","protected":false},"excerpt":{"rendered":"<p>Facebook \u9762\u8bd5\u9898\uff1a\u5b50\u96c6 I&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[],"tags":[],"_links":{"self":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/158997"}],"collection":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=158997"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/158997\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=158997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=158997"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=158997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}