{"id":151837,"date":"2020-08-28T22:47:02","date_gmt":"2020-08-28T14:47:02","guid":{"rendered":"http:\/\/4563.org\/?p=151837"},"modified":"2020-08-28T22:47:02","modified_gmt":"2020-08-28T14:47:02","slug":"google-%e9%9d%a2%e8%af%95%e9%a2%98%ef%bc%9a%e4%ba%8c%e5%8f%89%e6%90%9c%e7%b4%a2%e6%a0%91%e4%b8%ad%e6%9c%80%e6%8e%a5%e8%bf%91%e7%9a%84%e5%80%bc%ef%bc%88%e5%8e%9f%e6%9d%a5%e7%8b%97%e5%ae%b6%e4%b9%9f","status":"publish","type":"post","link":"http:\/\/4563.org\/?p=151837","title":{"rendered":"Google \u9762\u8bd5\u9898\uff1a\u4e8c\u53c9\u641c\u7d22\u6811\u4e2d\u6700\u63a5\u8fd1\u7684\u503c\uff08\u539f\u6765\u72d7\u5bb6\u4e5f\u6709\u7b80\u5355\u9898\u554a\uff09"},"content":{"rendered":"<div>\n<div>\n<div>\n<h1>                  Google \u9762\u8bd5\u9898\uff1a\u4e8c\u53c9\u641c\u7d22\u6811\u4e2d\u6700\u63a5\u8fd1\u7684\u503c\uff08\u539f\u6765\u72d7\u5bb6\u4e5f\u6709\u7b80\u5355\u9898\u554a\uff09               <\/h1>\n<p> <\/p>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : zzzrf <\/span>  <span><i><\/i> 2<\/span> <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div isfirst=\"1\"> <\/p>\n<p>\u65e0\u610f\u95f4\u5237\u5230\uff0c\u53ef\u4ee5\u589e\u52a0\u81ea\u4fe1\u5fc3\u4e86 Hhh<\/p>\n<p>\u7ed9\u4e00\u68f5\u975e\u7a7a\u4e8c\u53c9\u641c\u7d22\u6811\u4ee5\u53ca\u4e00\u4e2a target \u503c\uff0c\u627e\u5230\u5728 BST \u4e2d\u6700\u63a5\u8fd1\u7ed9\u5b9a\u503c\u7684\u8282\u70b9\u503c<\/p>\n<ul>\n<li>\u7ed9\u51fa\u7684\u76ee\u6807\u503c\u4e3a\u6d6e\u70b9\u6570<\/li>\n<li>\u6211\u4eec\u53ef\u4ee5\u4fdd\u8bc1\u53ea\u6709\u552f\u4e00\u4e00\u4e2a\u6700\u63a5\u8fd1\u7ed9\u5b9a\u503c\u7684\u8282\u70b9<\/li>\n<\/ul>\n<p>\u2192\u505a\u9898\u5730\u5740<\/p>\n<h2>\u6837\u4f8b 1<\/h2>\n<pre><code>\u8f93\u5165: root = {5,4,9,2,#,8,10} and target = 6.124780 \u8f93\u51fa: 5 \u89e3\u91ca\uff1a \u4e8c\u53c9\u6811 {5,4,9,2,#,8,10}\uff0c\u8868\u793a\u5982\u4e0b\u7684\u6811\u7ed3\u6784\uff1a         5        \/       4    9     \/    \/     2    8  10 <\/code><\/pre>\n<h2>\u6837\u4f8b 2<\/h2>\n<pre><code>\u8f93\u5165: root = {3,2,4,1} and target = 4.142857 \u8f93\u51fa: 4 \u89e3\u91ca\uff1a \u4e8c\u53c9\u6811 {3,2,4,1}\uff0c\u8868\u793a\u5982\u4e0b\u7684\u6811\u7ed3\u6784\uff1a      3     \/    2    4  \/ 1 <\/code><\/pre>\n<h1>[\u9898\u89e3]<\/h1>\n<p> <\/p>\n<p>\u7b97\u6cd5\u5f88\u7b80\u5355\uff0c\u6c42\u51fa lowerBound \u548c upperBound \u3002\u5373 &lt; target \u7684\u6700\u5927\u503c\u548c &gt;= target \u7684\u6700\u5c0f\u503c\u3002<\/p>\n<p>\u7136\u540e\u5728\u4e24\u8005\u4e4b\u4e2d\u53bb\u6bd4\u8f83\u8c01\u66f4\u63a5\u8fd1\uff0c\u7136\u540e\u8fd4\u56de\u5373\u53ef\u3002<\/p>\n<p>\u65f6\u95f4\u590d\u6742\u5ea6\u4e3a O(h)\uff0c\u6ce8\u610f\u5982\u679c\u4f60\u4f7f\u7528 in-order traversal \u7684\u8bdd\uff0c\u65f6\u95f4\u590d\u6742\u5ea6\u4f1a\u662f o(n) \u5e76\u4e0d\u662f\u6700\u4f18\u7684\u3002\u53e6\u5916\u590d\u6742\u5ea6\u4e5f\u4e0d\u662f O(logn) \u56e0\u4e3a BST \u5e76\u4e0d\u4fdd\u8bc1\u6811\u9ad8\u662f logn \u7684\u3002<\/p>\n<pre><code>class Solution {     public int closestValue(TreeNode root, double target) {         if (root == null) {             return 0;         }                  TreeNode lowerNode = lowerBound(root, target);         TreeNode upperNode = upperBound(root, target);                  if (lowerNode == null) {             return upperNode.val;         }                  if (upperNode == null) {             return lowerNode.val;         }                  if (target - lowerNode.val &gt; upperNode.val - target) {             return upperNode.val;         }                  return lowerNode.val;     }          \/\/ find the node with the largest value that smaller than target     private TreeNode lowerBound(TreeNode root, double target) {         if (root == null) {             return null;         }                  if (target &lt;= root.val) {             return lowerBound(root.left, target);         }                  \/\/ root.val &lt; target         TreeNode lowerNode = lowerBound(root.right, target);         if (lowerNode != null) {             return lowerNode;         }                  return root;     }          \/\/ find the node with the smallest value that larger than or equal to target     private TreeNode upperBound(TreeNode root, double target) {         if (root == null) {             return null;         }                  if (root.val &lt; target) {             return upperBound(root.right, target);         }                  \/\/ root.val &gt;= target         TreeNode upperNode = upperBound(root.left, target);         if (upperNode != null) {             return upperNode;         }                  return root;     }      } <\/code><\/pre>\n<p>\u70b9\u6b64\u67e5\u770b\u66f4\u591a\u9898\u89e3<\/p>\n<\/p><\/div>\n<div> <b>\u5927\u4f6c\u6709\u8a71\u8aaa<\/b> (<span>2<\/span>)        <\/div>\n<div> <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<ul>\n<li data-pid=\"3169526\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : est <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u70b9\u51fb\u67e5\u770b\u516c\u4f17\u53f7\u63a8\u5e7f                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li data-pid=\"3169527\" data-uid=\"2\">\n<div>\n<div>\n<div> <span>\u8cc7\u6df1\u5927\u4f6c : wqzjk393 <\/span>  <\/div>\n<div> <i title=\"\u5f15\u7528\"><\/i>  <span>          <\/span> <\/div>\n<\/p><\/div>\n<div>                                                             \u6211\u53ea\u4f1a\u4e2d\u5e8f\u904d\u5386\u7136\u540e\u518d\u4e8c\u5206\u67e5\u627e\u4e00\u6b21\u2026                                                            <\/div>\n<\/p><\/div>\n<\/li>\n<li>\n","protected":false},"excerpt":{"rendered":"<p>Google \u9762\u8bd5\u9898\uff1a\u4e8c\u53c9\u641c\u7d22\u6811\u4e2d&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\/151837"}],"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=151837"}],"version-history":[{"count":0,"href":"http:\/\/4563.org\/index.php?rest_route=\/wp\/v2\/posts\/151837\/revisions"}],"wp:attachment":[{"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=151837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=151837"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/4563.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=151837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}