awesome-interview/assets/js/312ed758.35fb5dae.js

1 line
8.7 KiB
JavaScript

"use strict";(self.webpackChunkjjbook=self.webpackChunkjjbook||[]).push([[6099],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return f}});var r=t(7294);function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function i(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?i(Object(t),!0).forEach((function(n){o(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):i(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function l(e,n){if(null==e)return{};var t,r,o=function(e,n){if(null==e)return{};var t,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}var u=r.createContext({}),c=function(e){var n=r.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):a(a({},n),e)),t},p=function(e){var n=c(e.components);return r.createElement(u.Provider,{value:n},e.children)},s={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},k=r.forwardRef((function(e,n){var t=e.components,o=e.mdxType,i=e.originalType,u=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),k=c(t),f=o,d=k["".concat(u,".").concat(f)]||k[f]||s[f]||i;return t?r.createElement(d,a(a({ref:n},p),{},{components:t})):r.createElement(d,a({ref:n},p))}));function f(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var i=t.length,a=new Array(i);a[0]=k;var l={};for(var u in n)hasOwnProperty.call(n,u)&&(l[u]=n[u]);l.originalType=e,l.mdxType="string"==typeof e?e:o,a[1]=l;for(var c=2;c<i;c++)a[c]=t[c];return r.createElement.apply(null,a)}return r.createElement.apply(null,t)}k.displayName="MDXCreateElement"},3581:function(e,n,t){t.r(n),t.d(n,{frontMatter:function(){return l},contentTitle:function(){return u},metadata:function(){return c},toc:function(){return p},default:function(){return k}});var r=t(7462),o=t(3366),i=(t(7294),t(3905)),a=["components"],l={sidebar_label:"\u7b97\u6cd5\uff1a\u4e8c\u53c9\u641c\u7d22\u6811\u7684\u7b2c k \u4e2a\u7ed3\u70b9",sidebar_position:11},u="\u4e8c\u53c9\u641c\u7d22\u6811\u7684\u7b2c k \u5927\u7684\u8282\u70b9",c={unversionedId:"book3/algorithm-binary-tree-k",id:"book3/algorithm-binary-tree-k",isDocsHomePage:!1,title:"\u4e8c\u53c9\u641c\u7d22\u6811\u7684\u7b2c k \u5927\u7684\u8282\u70b9",description:"\u9898\u76ee\u63cf\u8ff0",source:"@site/docs/book3/algorithm-binary-tree-k.md",sourceDirName:"book3",slug:"/book3/algorithm-binary-tree-k",permalink:"/awesome-interview/book3/algorithm-binary-tree-k",tags:[],version:"current",sidebarPosition:11,frontMatter:{sidebar_label:"\u7b97\u6cd5\uff1a\u4e8c\u53c9\u641c\u7d22\u6811\u7684\u7b2c k \u4e2a\u7ed3\u70b9",sidebar_position:11},sidebar:"tutorialSidebar",previous:{title:"\u7f16\u7801\uff1a\u5c06\u5217\u8868\u8fd8\u539f\u4e3a\u6811\u72b6\u7ed3\u6784",permalink:"/awesome-interview/book3/coding-arr-to-tree"},next:{title:"\u7efc\u5408\uff1a\u5982\u4f55\u51cf\u5c11\u767d\u5c4f\u7684\u65f6\u95f4",permalink:"/awesome-interview/book3/topic-white-screen-optimization"}},p=[{value:"\u9898\u76ee\u63cf\u8ff0",id:"\u9898\u76ee\u63cf\u8ff0",children:[]},{value:"\u89e3\u9898\u57fa\u672c\u77e5\u8bc6",id:"\u89e3\u9898\u57fa\u672c\u77e5\u8bc6",children:[]},{value:"\u89e3\u6cd5",id:"\u89e3\u6cd5",children:[{value:"\u590d\u6742\u5ea6\u5206\u6790\uff1a",id:"\u590d\u6742\u5ea6\u5206\u6790",children:[]},{value:"\u53c2\u8003\u8d44\u6599",id:"\u53c2\u8003\u8d44\u6599",children:[]}]}],s={toc:p};function k(e){var n=e.components,t=(0,o.Z)(e,a);return(0,i.kt)("wrapper",(0,r.Z)({},s,t,{components:n,mdxType:"MDXLayout"}),(0,i.kt)("h1",{id:"\u4e8c\u53c9\u641c\u7d22\u6811\u7684\u7b2c-k-\u5927\u7684\u8282\u70b9"},"\u4e8c\u53c9\u641c\u7d22\u6811\u7684\u7b2c k \u5927\u7684\u8282\u70b9"),(0,i.kt)("h2",{id:"\u9898\u76ee\u63cf\u8ff0"},"\u9898\u76ee\u63cf\u8ff0"),(0,i.kt)("p",null,"\u7ed9\u5b9a\u4e00\u68f5\u4e8c\u53c9\u641c\u7d22\u6811\uff0c\u8bf7\u627e\u51fa\u5176\u4e2d\u7b2c k \u5927\u7684\u8282\u70b9\u3002"),(0,i.kt)("p",null,"\u793a\u4f8b 1\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"\u8f93\u5165: root = [3,1,4,null,2], k = 1\n 3\n / \\\n 1 4\n \\\n 2\n\u8f93\u51fa: 4\n")),(0,i.kt)("p",null,"\u793a\u4f8b 2\uff1a"),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre"},"\u8f93\u5165: root = [5,3,6,2,4,null,null,1], k = 3\n 5\n / \\\n 3 6\n / \\\n 2 4\n /\n 1\n\u8f93\u51fa: 4\n")),(0,i.kt)("h2",{id:"\u89e3\u9898\u57fa\u672c\u77e5\u8bc6"},"\u89e3\u9898\u57fa\u672c\u77e5\u8bc6"),(0,i.kt)("p",null,"\u4e8c\u53c9\u641c\u7d22\u6811\uff08Binary Search Tree\uff09\u53c8\u540d\u4e8c\u53c9\u67e5\u627e\u6811\u3001\u4e8c\u53c9\u6392\u5e8f\u6811\u3002\u5b83\u662f\u4e00\u68f5\u7a7a\u6811\uff0c\u6216\u8005\u662f\u5177\u6709\u4e0b\u5217\u6027\u8d28\u7684\u4e8c\u53c9\u6811\uff1a \u82e5\u5b83\u7684\u5de6\u5b50\u6811\u4e0d\u7a7a\uff0c\u5219\u5de6\u5b50\u6811\u4e0a\u6240\u6709\u7ed3\u70b9\u7684\u503c\u5747\u5c0f\u4e8e\u5b83\u7684\u6839\u7ed3\u70b9\u7684\u503c\uff1b \u82e5\u5b83\u7684\u53f3\u5b50\u6811\u4e0d\u7a7a\uff0c\u5219\u53f3\u5b50\u6811\u4e0a\u6240\u6709\u7ed3\u70b9\u7684\u503c\u5747\u5927\u4e8e\u5b83\u7684\u6839\u7ed3\u70b9\u7684\u503c\uff1b \u5b83\u7684\u5de6\u3001\u53f3\u5b50\u6811\u4e5f\u5206\u522b\u4e3a\u4e8c\u53c9\u6392\u5e8f\u6811\u3002"),(0,i.kt)("h2",{id:"\u89e3\u6cd5"},"\u89e3\u6cd5"),(0,i.kt)("p",null,(0,i.kt)("a",{parentName:"p",href:"https://codesandbox.io/s/erchasousuoshudedi-k-dadejiedian-vfpbh?file=/index.html"},"\u5728\u7ebf\u94fe\u63a5")),(0,i.kt)("p",null,"\u5229\u7528\u4e8c\u53c9\u641c\u7d22\u6811\u7684\u7279\u6027\u8fdb\u884c\u4e2d\u5e8f\u904d\u5386\u3002\u5148\u904d\u5386\u5de6\u8282\u70b9\uff0c\u7136\u540e\u6839\u8282\u70b9\uff0c\u6700\u540e\u904d\u5386\u53f3\u8282\u70b9\uff0c\u5f97\u5230\u7684\u662f\u4e00\u4e2a\u9012\u589e\u5e8f\u5217\uff0c\u90a3\u4e48\u5e8f\u5217\u7684\u5012\u5e8f\u4e3a\u9012\u51cf\u5e8f\u5217\u3002\u56e0\u6b64\u8fd9\u9053\u9898\u6211\u4eec\u53ef\u4ee5\u8f6c\u53d8\u4e3a\u6c42\u4e8c\u53c9\u641c\u7d22\u6811\u4e2d\u5e8f\u904d\u5386\u5012\u5e8f\u7684\u7b2c k \u4e2a\u6570\u3002"),(0,i.kt)("p",null,(0,i.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/15681693/130164388-85e96093-9336-4174-b139-59e83d972a20.png",alt:"\u89e3\u6cd5\u56fe\u793a"})),(0,i.kt)("pre",null,(0,i.kt)("code",{parentName:"pre",className:"language-javascript"},"/**\n * Definition for a binary tree node.\n * function TreeNode(val) {\n * this.val = val;\n * this.left = this.right = null;\n * }\n */\n/**\n * @param {TreeNode} root\n * @param {number} k\n * @return {number}\n */\nconst kthLargest = (root, k) => {\n let res = null; // \u521d\u59cb\u5316\u8fd4\u56de\u503c\n // \u56e0\u4e3a\u9700\u8981\u5012\u5e8f\u7b2c k \u4e2a\uff0c\u6240\u4ee5\u5904\u7406\u662f\u53f3\u8282\u70b9\uff0c\u6839\u8282\u70b9\uff0c\u7136\u540e\u5de6\u8282\u70b9\n const dfs = (root) => {\n if (!root) return; // \u5982\u679c\u5f53\u524d\u8282\u70b9\u4e3a null\uff0c\u672c\u8f6e\u5904\u7406\u7ed3\u675f\n dfs(root.right); // \u5f00\u59cb\u5904\u7406\u53f3\u8282\u70b9\n if (k === 0) return; // k \u503c \u4e3a 0\uff0c\u4ee3\u8868\u5df2\u7ecf\u5904\u7406\u7684\u8282\u70b9\u8d85\u8fc7\u76ee\u6807\u8282\u70b9\uff0c\u672c\u8f6e\u5904\u7406\u7ed3\u675f\n if (--k === 0) {\n // \u5f53 k \u503c \u51cf 1 \u4e3a 0\uff0c\u8868\u793a\u5df2\u7ecf\u5230\u4e86\u6211\u4eec\u60f3\u8981\u7684 k \u5927 \u8282\u70b9\uff0c\u4fdd\u5b58\u5f53\u524d\u503c\n res = root.val;\n }\n dfs(root.left); // \u5904\u7406\u5de6\u8282\u70b9\n };\n dfs(root); // \u4ece\u521d\u59cb\u5316\u8282\u70b9\u5f00\u59cb\u5904\u7406\n return res;\n};\n")),(0,i.kt)("h3",{id:"\u590d\u6742\u5ea6\u5206\u6790"},"\u590d\u6742\u5ea6\u5206\u6790\uff1a"),(0,i.kt)("ul",null,(0,i.kt)("li",{parentName:"ul"},"\u65f6\u95f4\u590d\u6742\u5ea6 O(N)\uff1a\u65e0\u8bba k \u7684\u503c\u5927\u5c0f\uff0c\u9012\u5f52\u6df1\u5ea6\u90fd\u4e3a N\uff0c\u5360\u7528 O(N) \u65f6\u95f4\u3002"),(0,i.kt)("li",{parentName:"ul"},"\u7a7a\u95f4\u590d\u6742\u5ea6 O(N)\uff1a\u65e0\u8bba k \u7684\u503c\u5927\u5c0f\uff0c\u9012\u5f52\u6df1\u5ea6\u90fd\u4e3a N\uff0c\u5360\u7528 O(N) \u7a7a\u95f4\u3002")),(0,i.kt)("h3",{id:"\u53c2\u8003\u8d44\u6599"},"\u53c2\u8003\u8d44\u6599"),(0,i.kt)("ol",null,(0,i.kt)("li",{parentName:"ol"},(0,i.kt)("a",{parentName:"li",href:"https://book.douban.com/subject/6966465/"},"\u5251\u6307 offer"))))}k.isMDXComponent=!0}}]);