{"id":268899,"date":"2021-01-10T00:35:35","date_gmt":"2021-01-09T16:35:35","guid":{"rendered":"http:\/\/4563.org\/?p=268899"},"modified":"2021-01-10T00:35:35","modified_gmt":"2021-01-09T16:35:35","slug":"uber-%e9%9d%a2%e8%af%95%e9%a2%98%ef%bc%9a%e5%85%8b%e9%9a%86%e5%9b%be","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=268899","title":{"rendered":"Uber \u9762\u8bd5\u9898\uff1a\u514b\u9686\u56fe"},"content":{"rendered":"<div>\n<div>\n<div>\n<h1>                  Uber \u9762\u8bd5\u9898\uff1a\u514b\u9686\u56fe               <\/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>\u514b\u9686\u4e00\u5f20\u65e0\u5411\u56fe. \u65e0\u5411\u56fe\u7684\u6bcf\u4e2a\u8282\u70b9\u5305\u542b\u4e00\u4e2a label \u548c\u4e00\u4e2a\u5217\u8868 neighbors. \u4fdd\u8bc1\u6bcf\u4e2a\u8282\u70b9\u7684 label \u4e92\u4e0d\u76f8\u540c. \u4f60\u7684\u7a0b\u5e8f\u9700\u8981\u8fd4\u56de\u4e00\u4e2a\u7ecf\u8fc7\u6df1\u5ea6\u62f7\u8d1d\u7684\u65b0\u56fe. \u65b0\u56fe\u548c\u539f\u56fe\u5177\u6709\u540c\u6837\u7684\u7ed3\u6784, \u5e76\u4e14\u5bf9\u65b0\u56fe\u7684\u4efb\u4f55\u6539\u52a8\u4e0d\u4f1a\u5bf9\u539f\u56fe\u9020\u6210\u4efb\u4f55\u5f71\u54cd. \u4f60\u9700\u8981\u8fd4\u56de\u4e0e\u7ed9\u5b9a\u8282\u70b9\u5177\u6709\u76f8\u540c label \u7684\u90a3\u4e2a\u8282\u70b9.<\/p>\n<h3>\u8bf4\u660e<\/h3>\n<p>\u5173\u4e8e\u65e0\u5411\u56fe\u7684\u8868\u793a<\/p>\n<p>\u5728\u7ebf\u8bc4\u6d4b\u5730\u5740<\/p>\n<h3>\u6837\u4f8b 1\uff1a<\/h3>\n<pre><code>\u8f93\u5165: {1,2,4#2,1,4#4,1,2} \u8f93\u51fa:  {1,2,4#2,1,4#4,1,2} \u89e3\u91ca: 1------2         |         |         |         |         4    <\/code><\/pre>\n<h3>\u601d\u8def<\/h3>\n<p>\u4ece\u539f\u56fe\u7ed9\u5b9a\u7684\u70b9\u627e\u5230\u6240\u6709\u70b9 \u590d\u5236\u6240\u6709\u7684\u70b9 \u590d\u5236\u6240\u6709\u7684\u8fb9<\/p>\n<h3>\u9898\u89e3\uff1a<\/h3>\n<pre><code>public class Solution {     \/**      * @param node: A undirected graph node      * @return: A undirected graph node      *\/     public UndirectedGraphNode cloneGraph(UndirectedGraphNode node) {         if (node == null) {             return node;         }          \/\/ use bfs algorithm to traverse the graph and get all nodes.         ArrayList&lt;UndirectedGraphNode&gt; nodes = getNodes(node);          \/\/ copy nodes, store the old-&gt;new mapping information in a hash map         HashMap&lt;UndirectedGraphNode, UndirectedGraphNode&gt; mapping = new HashMap&lt;&gt;();         for (UndirectedGraphNode n : nodes) {             mapping.put(n, new UndirectedGraphNode(n.label));         }          \/\/ copy neighbors(edges)         for (UndirectedGraphNode n : nodes) {             UndirectedGraphNode newNode = mapping.get(n);             for (UndirectedGraphNode neighbor : n.neighbors) {                 UndirectedGraphNode newNeighbor = mapping.get(neighbor);                 newNode.neighbors.add(newNeighbor);             }         }          return mapping.get(node);     }      private ArrayList&lt;UndirectedGraphNode&gt; getNodes(UndirectedGraphNode node) {         Queue&lt;UndirectedGraphNode&gt; queue = new LinkedList&lt;UndirectedGraphNode&gt;();         HashSet&lt;UndirectedGraphNode&gt; set = new HashSet&lt;&gt;();          queue.offer(node);         set.add(node);         while (!queue.isEmpty()) {             UndirectedGraphNode head = queue.poll();             for (UndirectedGraphNode neighbor : head.neighbors) {                 if (!set.contains(neighbor)) {                     set.add(neighbor);                     queue.offer(neighbor);                 }             }         }          return new ArrayList&lt;UndirectedGraphNode&gt;(set);     } } <\/code><\/pre>\n<p>\u66f4\u591a\u9898\u89e3\u53c2\u8003<\/p>\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>Uber \u9762\u8bd5\u9898\uff1a\u514b\u9686\u56fe \u8cc7\u6df1\u5927\u4f6c&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\/268899"}],"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=268899"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/268899\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=268899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=268899"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=268899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}