diff --git a/404.html b/404.html index f6e2fa9..3eef766 100644 --- a/404.html +++ b/404.html @@ -7,13 +7,13 @@ Page Not Found | HZFE - 剑指前端 Offer - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/about.html b/about.html index 4d715a6..6e446af 100644 --- a/about.html +++ b/about.html @@ -7,13 +7,13 @@ 关于我们 | HZFE - 剑指前端 Offer - +
Skip to main content

关于我们

Hi,我们是 HZFE,一群来自于五湖四海的 90 后技术人。

一些缘分 :D#

一群固定的人总聚在一起,不知不觉就会成为一个所谓的团队。而我们的团队代号“HZFE”,总让不明其意的人拼错或不知如何发音。曾经在我们三周年活动蛋糕上,店家就用心写下了“H2FF 三周年快乐”的祝福。但是问题不大,只要我们不说,没有人会知道。

我们最初相识于拥有 17 位成员的群聊,群聊名称正是 HZFE。其本意是杭州前端(Hangzhou Front-End),所以也读作“杭州 FE”。尽管我们大多不在杭州,也不全是前端。所以姑且当这是个没道理的代号吧,而我们的相聚则是一场有趣的缘分。

可爱的人 0:)#

和每个普通人一样,我们大多过着三点一线的生活。喜欢旅游也爱摄影,也像千千万个理财小白一般,在正向或是反向理财中来回波动。每天都在产出新的想法,一起头脑风暴,结局总是以没有设计师为借口不了了之,三分钟热度成了我们心照不宣的默契。每天都在做梦,讲些不切实际的幻想,平凡且平庸。

如果说,唯一值得小小炫耀一番的,便是我们这群人对于热爱开发这件事达成了共识。不论是做开源、做自己的产品亦或各自在工作岗位上,都有所收获和成绩。目前团队开源的技术项目累计 6k star 以上,成员主要任职于腾讯、阿里巴巴、字节跳动、百度等一二线互联网公司,同时也不乏优秀的个人开发者。或许我们也是幸运的,在刚踏入社会时相遇相知相爱,彼此影响,一同成长为此刻至少技术还不赖的人。

做些东西 ;‑)#

因缘巧合下,在某天如同往日的头脑风暴中,我们一拍脑袋,说要一起写本书,将五年来对于行业面试规则和趋势的了解整理成册。就此,开启了这场坎坷的写作之旅。

正如其名:剑指前端 Offer,希望在这本书的帮助下,我们和读者都能有所成长。

Loading script...
- + \ No newline at end of file diff --git a/assets/js/26d83c4c.ed78a45c.js b/assets/js/26d83c4c.7ad3c914.js similarity index 64% rename from assets/js/26d83c4c.ed78a45c.js rename to assets/js/26d83c4c.7ad3c914.js index 4997c56..74a668d 100644 --- a/assets/js/26d83c4c.ed78a45c.js +++ b/assets/js/26d83c4c.7ad3c914.js @@ -1 +1 @@ -"use strict";(self.webpackChunkjjbook=self.webpackChunkjjbook||[]).push([[6695],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=o.createContext({}),s=function(e){var t=o.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=s(e.components);return o.createElement(p.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,p=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),m=s(n),k=r,d=m["".concat(p,".").concat(k)]||m[k]||c[k]||l;return n?o.createElement(d,a(a({ref:t},u),{},{components:n})):o.createElement(d,a({ref:t},u))}));function k(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,a=new Array(l);a[0]=m;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i.mdxType="string"==typeof e?e:r,a[1]=i;for(var s=2;s {\n // \u5fae\u4efb\u52a11\n console.log("Promise1");\n setTimeout(() => {\n // \u5b8f\u4efb\u52a12\n console.log("setTimeout2");\n }, 0);\n});\nsetTimeout(() => {\n // \u5b8f\u4efb\u52a11\n console.log("setTimeout1");\n Promise.resolve().then(() => {\n // \u5fae\u4efb\u52a12\n console.log("Promise2");\n });\n}, 0);\n')),(0,l.kt)("p",null,"\u6700\u540e\u8f93\u51fa\u987a\u5e8f\u4e3a\uff1aPromise1\uff0csetTimeout1\uff0cPromise2\uff0csetTimeout2\u3002\u5177\u4f53\u6d41\u7a0b\u5982\u4e0b\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u540c\u6b65\u4efb\u52a1\u6267\u884c\u5b8c\u6bd5\u3002\u5fae\u4efb\u52a1 1 \u8fdb\u5165\u5fae\u4efb\u52a1\u961f\u5217\uff0c\u5b8f\u4efb\u52a1 1 \u8fdb\u5165\u5b8f\u4efb\u52a1\u961f\u5217\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u67e5\u770b\u5fae\u4efb\u52a1\u961f\u5217\uff0c\u5fae\u4efb\u52a1 1 \u6267\u884c\uff0c\u6253\u5370 Promise1\uff0c\u751f\u6210\u5b8f\u4efb\u52a1 2\uff0c\u8fdb\u5165\u5b8f\u4efb\u52a1\u961f\u5217\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u67e5\u770b\u5b8f\u4efb\u52a1\u961f\u5217\uff0c\u5b8f\u4efb\u52a1 1 \u6267\u884c\uff0c\u6253\u5370 setTimeout1\uff0c\u751f\u6210\u5fae\u4efb\u52a1 2\uff0c\u8fdb\u5165\u5fae\u4efb\u52a1\u961f\u5217\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u67e5\u770b\u5fae\u4efb\u52a1\u961f\u5217\uff0c\u5fae\u4efb\u52a1 2 \u6267\u884c\uff0c\u6253\u5370 Promise2\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u67e5\u770b\u5b8f\u4efb\u52a1\u961f\u5217\uff0c\u5b8f\u4efb\u52a1 2 \u6267\u884c\uff0c\u6253\u5370 setTimeout2\u3002")),(0,l.kt)("h3",{id:"4-nodejs-\u4e2d\u7684\u4e8b\u4ef6\u5faa\u73af"},"4. Node.js \u4e2d\u7684\u4e8b\u4ef6\u5faa\u73af"),(0,l.kt)("p",null,"\u5728 Node.js \u4e2d\uff0c\u4e8b\u4ef6\u5faa\u73af\u8868\u73b0\u51fa\u7684\u72b6\u6001\u4e0e\u6d4f\u89c8\u5668\u4e2d\u5927\u81f4\u76f8\u540c\u3002\u4e0d\u540c\u7684\u662f Node.js \u4e2d\u6709\u4e00\u5957\u81ea\u5df1\u7684\u6a21\u578b\u3002 Node.js \u4e2d\u4e8b\u4ef6\u5faa\u73af\u7684\u5b9e\u73b0\u662f\u4f9d\u9760\u7684 libuv \u5f15\u64ce\u3002\u4e0b\u56fe\u7b80\u8981\u4ecb\u7ecd\u4e86\u4e8b\u4ef6\u5faa\u73af\u64cd\u4f5c\u987a\u5e8f\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/12165373/129439935-105a2439-23c8-4b2c-aea1-2493c3bf50e9.png",alt:"node event loop"})),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"\u56fe\u7247\u6765\u6e90 ",(0,l.kt)("a",{parentName:"p",href:"https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#what-is-the-event-loop"},"Node.js \u5b98\u7f51"))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"timers\uff1a\u672c\u9636\u6bb5\u6267\u884c\u5df2\u7ecf\u88ab setTimeout() \u548c setInterval() \u7684\u8c03\u5ea6\u56de\u8c03\u51fd\u6570\u3002"),(0,l.kt)("li",{parentName:"ol"},"pending callbacks\uff1a\u6267\u884c\u5ef6\u8fdf\u5230\u4e0b\u4e00\u4e2a\u5faa\u73af\u8fed\u4ee3\u7684 I/O \u56de\u8c03\u3002"),(0,l.kt)("li",{parentName:"ol"},"idle\u3001prepare\uff1a\u4ec5\u7cfb\u7edf\u5185\u90e8\u4f7f\u7528\u3002"),(0,l.kt)("li",{parentName:"ol"},"poll\uff1a\u68c0\u7d22\u65b0\u7684 I/O \u4e8b\u4ef6;\u6267\u884c\u4e0e I/O \u76f8\u5173\u7684\u56de\u8c03\uff08\u51e0\u4e4e\u6240\u6709\u60c5\u51b5\u4e0b\uff0c\u9664\u4e86\u5173\u95ed\u7684\u56de\u8c03\u51fd\u6570\uff0c\u90a3\u4e9b\u7531\u8ba1\u65f6\u5668\u548c setImmediate() \u8c03\u5ea6\u7684\u4e4b\u5916\uff09\uff0c\u5176\u4f59\u60c5\u51b5 node \u5c06\u5728\u9002\u5f53\u7684\u65f6\u5019\u5728\u6b64\u963b\u585e\u3002"),(0,l.kt)("li",{parentName:"ol"},"check\uff1asetImmediate() \u56de\u8c03\u51fd\u6570\u5728\u8fd9\u91cc\u6267\u884c\u3002"),(0,l.kt)("li",{parentName:"ol"},"close callbacks\uff1a\u4e00\u4e9b\u5173\u95ed\u7684\u56de\u8c03\u51fd\u6570\uff0c\u5982\uff1asocket.on('close', ...)\u3002")),(0,l.kt)("p",null,"\u5728\u6bcf\u6b21\u8fd0\u884c\u7684\u4e8b\u4ef6\u5faa\u73af\u4e4b\u95f4\uff0cNode.js \u68c0\u67e5\u5b83\u662f\u5426\u5728\u7b49\u5f85\u4efb\u4f55\u5f02\u6b65 I/O \u6216\u8ba1\u65f6\u5668\uff0c\u5982\u679c\u6ca1\u6709\u7684\u8bdd\uff0c\u5219\u5b8c\u5168\u5173\u95ed\u3002"),(0,l.kt)("h2",{id:"\u53c2\u8003\u8d44\u6599"},"\u53c2\u8003\u8d44\u6599"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("a",{parentName:"li",href:"https://html.spec.whatwg.org/multipage/webappapis.html#event-loops"},"whatwg event loops")),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("a",{parentName:"li",href:"https://en.wikipedia.org/wiki/Event_loop"},"wikipedia event loops")),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("a",{parentName:"li",href:"https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#what-is-the-event-loop"},"Node.js event loops"))))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkjjbook=self.webpackChunkjjbook||[]).push([[6695],{3905:function(e,t,n){n.d(t,{Zo:function(){return m},kt:function(){return k}});var o=n(7294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var p=o.createContext({}),s=function(e){var t=o.useContext(p),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},m=function(e){var t=s(e.components);return o.createElement(p.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},c=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,l=e.originalType,p=e.parentName,m=i(e,["components","mdxType","originalType","parentName"]),c=s(n),k=r,d=c["".concat(p,".").concat(k)]||c[k]||u[k]||l;return n?o.createElement(d,a(a({ref:t},m),{},{components:n})):o.createElement(d,a({ref:t},m))}));function k(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var l=n.length,a=new Array(l);a[0]=c;var i={};for(var p in t)hasOwnProperty.call(t,p)&&(i[p]=t[p]);i.originalType=e,i.mdxType="string"==typeof e?e:r,a[1]=i;for(var s=2;s {\n // \u5fae\u4efb\u52a11\n console.log("Promise1");\n setTimeout(() => {\n // \u5b8f\u4efb\u52a12\n console.log("setTimeout2");\n }, 0);\n});\nsetTimeout(() => {\n // \u5b8f\u4efb\u52a11\n console.log("setTimeout1");\n Promise.resolve().then(() => {\n // \u5fae\u4efb\u52a12\n console.log("Promise2");\n });\n}, 0);\n')),(0,l.kt)("p",null,"\u6700\u540e\u8f93\u51fa\u987a\u5e8f\u4e3a\uff1a",(0,l.kt)("inlineCode",{parentName:"p"},"Promise1 => setTimeout1 => Promise2 => setTimeout2"),"\u3002\u5177\u4f53\u6d41\u7a0b\u5982\u4e0b\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u540c\u6b65\u4efb\u52a1\u6267\u884c\u5b8c\u6bd5\u3002\u5fae\u4efb\u52a1 1 \u8fdb\u5165\u5fae\u4efb\u52a1\u961f\u5217\uff0c\u5b8f\u4efb\u52a1 1 \u8fdb\u5165\u5b8f\u4efb\u52a1\u961f\u5217\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u67e5\u770b\u5fae\u4efb\u52a1\u961f\u5217\uff0c\u5fae\u4efb\u52a1 1 \u6267\u884c\uff0c\u6253\u5370 Promise1\uff0c\u751f\u6210\u5b8f\u4efb\u52a1 2\uff0c\u8fdb\u5165\u5b8f\u4efb\u52a1\u961f\u5217\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u67e5\u770b\u5b8f\u4efb\u52a1\u961f\u5217\uff0c\u5b8f\u4efb\u52a1 1 \u6267\u884c\uff0c\u6253\u5370 setTimeout1\uff0c\u751f\u6210\u5fae\u4efb\u52a1 2\uff0c\u8fdb\u5165\u5fae\u4efb\u52a1\u961f\u5217\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u67e5\u770b\u5fae\u4efb\u52a1\u961f\u5217\uff0c\u5fae\u4efb\u52a1 2 \u6267\u884c\uff0c\u6253\u5370 Promise2\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u67e5\u770b\u5b8f\u4efb\u52a1\u961f\u5217\uff0c\u5b8f\u4efb\u52a1 2 \u6267\u884c\uff0c\u6253\u5370 setTimeout2\u3002")),(0,l.kt)("h3",{id:"4-nodejs-\u4e2d\u7684\u4e8b\u4ef6\u5faa\u73af"},"4. Node.js \u4e2d\u7684\u4e8b\u4ef6\u5faa\u73af"),(0,l.kt)("p",null,"\u5728 Node.js \u4e2d\uff0c\u4e8b\u4ef6\u5faa\u73af\u8868\u73b0\u51fa\u7684\u72b6\u6001\u4e0e\u6d4f\u89c8\u5668\u4e2d\u5927\u81f4\u76f8\u540c\u3002\u4e0d\u540c\u7684\u662f Node.js \u4e2d\u6709\u4e00\u5957\u81ea\u5df1\u7684\u6a21\u578b\u3002 Node.js \u4e2d\u4e8b\u4ef6\u5faa\u73af\u7684\u5b9e\u73b0\u662f\u4f9d\u9760\u7684 libuv \u5f15\u64ce\u3002\u4e0b\u56fe\u7b80\u8981\u4ecb\u7ecd\u4e86\u4e8b\u4ef6\u5faa\u73af\u64cd\u4f5c\u987a\u5e8f\uff1a"),(0,l.kt)("p",null,(0,l.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/12165373/129439935-105a2439-23c8-4b2c-aea1-2493c3bf50e9.png",alt:"node event loop"})),(0,l.kt)("blockquote",null,(0,l.kt)("p",{parentName:"blockquote"},"\u56fe\u7247\u6765\u6e90 ",(0,l.kt)("a",{parentName:"p",href:"https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#what-is-the-event-loop"},"Node.js \u5b98\u7f51"))),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"timers\uff1a\u672c\u9636\u6bb5\u6267\u884c\u5df2\u7ecf\u88ab setTimeout() \u548c setInterval() \u7684\u8c03\u5ea6\u56de\u8c03\u51fd\u6570\u3002"),(0,l.kt)("li",{parentName:"ol"},"pending callbacks\uff1a\u6267\u884c\u5ef6\u8fdf\u5230\u4e0b\u4e00\u4e2a\u5faa\u73af\u8fed\u4ee3\u7684 I/O \u56de\u8c03\u3002"),(0,l.kt)("li",{parentName:"ol"},"idle\u3001prepare\uff1a\u4ec5\u7cfb\u7edf\u5185\u90e8\u4f7f\u7528\u3002"),(0,l.kt)("li",{parentName:"ol"},"poll\uff1a\u68c0\u7d22\u65b0\u7684 I/O \u4e8b\u4ef6;\u6267\u884c\u4e0e I/O \u76f8\u5173\u7684\u56de\u8c03\uff08\u51e0\u4e4e\u6240\u6709\u60c5\u51b5\u4e0b\uff0c\u9664\u4e86\u5173\u95ed\u7684\u56de\u8c03\u51fd\u6570\uff0c\u90a3\u4e9b\u7531\u8ba1\u65f6\u5668\u548c setImmediate() \u8c03\u5ea6\u7684\u4e4b\u5916\uff09\uff0c\u5176\u4f59\u60c5\u51b5 node \u5c06\u5728\u9002\u5f53\u7684\u65f6\u5019\u5728\u6b64\u963b\u585e\u3002"),(0,l.kt)("li",{parentName:"ol"},"check\uff1asetImmediate() \u56de\u8c03\u51fd\u6570\u5728\u8fd9\u91cc\u6267\u884c\u3002"),(0,l.kt)("li",{parentName:"ol"},"close callbacks\uff1a\u4e00\u4e9b\u5173\u95ed\u7684\u56de\u8c03\u51fd\u6570\uff0c\u5982\uff1asocket.on('close', ...)\u3002")),(0,l.kt)("p",null,"\u5728\u6bcf\u6b21\u8fd0\u884c\u7684\u4e8b\u4ef6\u5faa\u73af\u4e4b\u95f4\uff0cNode.js \u68c0\u67e5\u5b83\u662f\u5426\u5728\u7b49\u5f85\u4efb\u4f55\u5f02\u6b65 I/O \u6216\u8ba1\u65f6\u5668\uff0c\u5982\u679c\u6ca1\u6709\u7684\u8bdd\uff0c\u5219\u5b8c\u5168\u5173\u95ed\u3002"),(0,l.kt)("p",null,"\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0c",(0,l.kt)("strong",{parentName:"p"},"\u5b8f\u4efb\u52a1\u4e0e\u5fae\u4efb\u52a1\u7684\u6267\u884c\u987a\u5e8f\u5728 Node.js \u7684\u4e0d\u540c\u7248\u672c\u4e2d\u8868\u73b0\u4e5f\u6709\u6240\u4e0d\u540c"),"\u3002\u540c\u6837\u901a\u8fc7\u4e00\u4e2a\u5177\u4f53\u7684\u4f8b\u5b50\u6765\u5206\u6790\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'setTimeout(() => {\n console.log("timer1");\n Promise.resolve().then(function () {\n console.log("promise1");\n });\n}, 0);\n\nsetTimeout(() => {\n console.log("timer2");\n Promise.resolve().then(function () {\n console.log("promise2");\n });\n}, 0);\n')),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u5728 Node.js v11 \u53ca\u4ee5\u4e0a\u7248\u672c\u4e2d\u4e00\u65e6\u6267\u884c\u4e00\u4e2a\u9636\u6bb5\u91cc\u7684\u4e00\u4e2a\u5b8f\u4efb\u52a1\uff08setTimeout\uff0csetInterval \u548c setImmediate\uff09\uff0c\u4f1a\u7acb\u523b\u6267\u884c\u5fae\u4efb\u52a1\u961f\u5217\uff0c\u6240\u4ee5\u8f93\u51fa\u987a\u5e8f\u4e3a",(0,l.kt)("inlineCode",{parentName:"li"},"timer1 => promise1 => timer2 => promise2"),"\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u5728 Node.js v10 \u53ca\u4ee5\u4e0b\u7248\u672c\uff0c\u8981\u770b\u7b2c\u4e00\u4e2a\u5b9a\u65f6\u5668\u6267\u884c\u5b8c\u6210\u65f6\uff0c\u7b2c\u4e8c\u4e2a\u5b9a\u65f6\u5668\u662f\u5426\u5728\u5b8c\u6210\u961f\u5217\u4e2d\u3002",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"\u5982\u679c\u7b2c\u4e8c\u4e2a\u5b9a\u65f6\u5668\u8fd8\u672a\u5728\u5b8c\u6210\u961f\u5217\u4e2d\uff0c\u8f93\u51fa\u987a\u5e8f\u4e3a",(0,l.kt)("inlineCode",{parentName:"li"},"timer1 => promise1 => timer2 => promise2"),"\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u5982\u679c\u662f\u7b2c\u4e8c\u4e2a\u5b9a\u65f6\u5668\u5df2\u7ecf\u5728\u5b8c\u6210\u961f\u5217\u4e2d\uff0c\u8f93\u51fa\u987a\u5e8f\u4e3a",(0,l.kt)("inlineCode",{parentName:"li"},"timer1 => timer2 => promise1 => promise2"),"\u3002")))),(0,l.kt)("h2",{id:"\u53c2\u8003\u8d44\u6599"},"\u53c2\u8003\u8d44\u6599"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("a",{parentName:"li",href:"https://html.spec.whatwg.org/multipage/webappapis.html#event-loops"},"whatwg event loops")),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("a",{parentName:"li",href:"https://en.wikipedia.org/wiki/Event_loop"},"wikipedia event loops")),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("a",{parentName:"li",href:"https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#what-is-the-event-loop"},"Node.js event loops"))))}c.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/312ed758.35fb5dae.js b/assets/js/312ed758.35fb5dae.js deleted file mode 100644 index 9742ad2..0000000 --- a/assets/js/312ed758.35fb5dae.js +++ /dev/null @@ -1 +0,0 @@ -"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=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=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 {\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}}]); \ No newline at end of file diff --git a/assets/js/312ed758.b9f75391.js b/assets/js/312ed758.b9f75391.js new file mode 100644 index 0000000..90086ff --- /dev/null +++ b/assets/js/312ed758.b9f75391.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkjjbook=self.webpackChunkjjbook||[]).push([[6099],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return d}});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 a(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 i(e){for(var n=1;n=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=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):i(i({},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,a=e.originalType,u=e.parentName,p=l(e,["components","mdxType","originalType","parentName"]),k=c(t),d=o,f=k["".concat(u,".").concat(d)]||k[d]||s[d]||a;return t?r.createElement(f,i(i({ref:n},p),{},{components:t})):r.createElement(f,i({ref:n},p))}));function d(e,n){var t=arguments,o=n&&n.mdxType;if("string"==typeof e||o){var a=t.length,i=new Array(a);i[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,i[1]=l;for(var c=2;c {\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,a.kt)("h3",{id:"\u590d\u6742\u5ea6\u5206\u6790"},"\u590d\u6742\u5ea6\u5206\u6790\uff1a"),(0,a.kt)("ul",null,(0,a.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,a.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,a.kt)("h2",{id:"\u89e3\u6cd5\u4e8c-\u8fed\u4ee3"},"\u89e3\u6cd5\u4e8c\uff1a \u8fed\u4ee3"),(0,a.kt)("p",null,(0,a.kt)("a",{parentName:"p",href:"https://codesandbox.io/s/hzfe-suan-fa-er-cha-sou-suo-shu-de-di-k-da-de-jie-dian-die-dai-kq565?file=/index.html"},"\u5728\u7ebf\u94fe\u63a5")),(0,a.kt)("p",null,"\u601d\u8def\u8fd8\u662f\u4e8c\u53c9\u6811\u7684\u4e2d\u5e8f\u904d\u5386\uff0c\u5229\u7528\u6808\u7684\u65b9\u5f0f\u8fdb\u884c\u904d\u5386\u3002"),(0,a.kt)("p",null,(0,a.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/15681693/137573367-0855a00c-7406-4837-86d4-38d73f9c7bb7.png",alt:"\u89e3\u6cd5\u56fe\u793a"})),(0,a.kt)("pre",null,(0,a.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 */\nvar kthLargest = function (root, k) {\n if (!root) return 0;\n // \u58f0\u660e\u50a8\u5b58\u6808\n const stack = [];\n // \u5224\u65ad\u5f53\u524d\u6808\u5426\u6709\u8282\u70b9\u548c\u5f53\u524d\u904d\u5386\u8282\u70b9\u4f4d\u7f6e\n while (stack.length || root) {\n while (root) {\n // \u5f80\u6808\u91cc\u6dfb\u52a0\u5f53\u524d\u8282\u70b9\uff0c\u540c\u65f6\u5207\u6362\u4e3a\u53f3\u8282\u70b9\u5904\u7406\n stack.push(root);\n root = root.right;\n }\n // \u53d6\u51fa\u5f53\u524d\u6808\u9876\u5143\u7d20\uff0c\u6839\u636e\u6dfb\u52a0\u7684\u987a\u5e8f\uff0c\u5f53\u524d\u5143\u7d20\u662f\u6808\u5185\u6700\u5927\u7684\n const cur = stack.pop();\n k--;\n if (k === 0) return cur.val;\n // \u5207\u6362\u4e3a\u5de6\u8282\u70b9\u5904\u7406\n root = cur.left;\n }\n return 0;\n};\n")),(0,a.kt)("ul",null,(0,a.kt)("li",{parentName:"ul"},"\u65f6\u95f4\u590d\u6742\u5ea6 O(N)\uff1a\u9700\u8981\u904d\u5386\u6574\u68f5\u6811\u4e00\u6b21\uff0c\u590d\u6742\u5ea6\u4e3a O(N)"),(0,a.kt)("li",{parentName:"ul"},"\u7a7a\u95f4\u590d\u6742\u5ea6 O(N)\uff1a\u9700\u8981\u989d\u5916\u7a7a\u95f4\u6808\u8fdb\u884c\u50a8\u5b58\u6811\uff0c\u590d\u6742\u5ea6\u4e3a O(N)")),(0,a.kt)("h3",{id:"\u53c2\u8003\u8d44\u6599"},"\u53c2\u8003\u8d44\u6599"),(0,a.kt)("ol",null,(0,a.kt)("li",{parentName:"ol"},(0,a.kt)("a",{parentName:"li",href:"https://book.douban.com/subject/6966465/"},"\u5251\u6307 offer"))))}k.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6b1ae1c5.1e7fd378.js b/assets/js/6b1ae1c5.1e7fd378.js new file mode 100644 index 0000000..256bdb8 --- /dev/null +++ b/assets/js/6b1ae1c5.1e7fd378.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkjjbook=self.webpackChunkjjbook||[]).push([[6015],{3905:function(e,n,t){t.d(n,{Zo:function(){return p},kt:function(){return m}});var r=t(7294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function l(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 i(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var u=r.createContext({}),c=function(e){var n=r.useContext(u),t=n;return e&&(t="function"==typeof e?e(n):i(i({},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)}},d=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,l=e.originalType,u=e.parentName,p=o(e,["components","mdxType","originalType","parentName"]),d=c(t),m=a,f=d["".concat(u,".").concat(m)]||d[m]||s[m]||l;return t?r.createElement(f,i(i({ref:n},p),{},{components:t})):r.createElement(f,i({ref:n},p))}));function m(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var l=t.length,i=new Array(l);i[0]=d;var o={};for(var u in n)hasOwnProperty.call(n,u)&&(o[u]=n[u]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var c=2;c2->3->4->5->NULL\n\u8f93\u51fa: 5->4->3->2->1->NULL\n\n")),(0,l.kt)("h2",{id:"\u89e3\u6cd5\u4e00\u8fed\u4ee3\u53cc\u6307\u9488"},"\u89e3\u6cd5\u4e00\uff1a\u8fed\u4ee3\uff08\u53cc\u6307\u9488\uff09"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://codesandbox.io/s/hzfe-suanfa-omcjw?file=/index.html"},"\u5728\u7ebf\u94fe\u63a5")),(0,l.kt)("p",null,"\u672c\u65b9\u6cd5\u662f\u5bf9\u94fe\u8868\u8fdb\u884c\u904d\u5386\uff0c\u7136\u540e\u5728\u8bbf\u95ee\u5404\u8282\u70b9\u65f6\u4fee\u6539 next \u7684\u6307\u5411\uff0c\u8fbe\u5230\u53cd\u8f6c\u94fe\u8868\u7684\u76ee\u7684\u3002"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u521d\u59cb\u5316 cur \u548c pre \u4e24\u4e2a\u8282\u70b9\uff0c\u5206\u522b\u6307\u5411 head \u548c null\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u5bf9\u94fe\u8868\u8fdb\u884c\u5faa\u73af\uff0c\u58f0\u660e temp \u8282\u70b9\u7528\u6765\u4fdd\u5b58\u5f53\u524d\u8282\u70b9\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u4fee\u6539\u5f53\u524d\u8282\u70b9 cur \u7684 next \u6307\u9488\u6307\u5411\u4e3a pre \u8282\u70b9\u3002"),(0,l.kt)("li",{parentName:"ol"},"pre \u8282\u70b9\u4fee\u6539\u4e3a cur \u8282\u70b9\u3002"),(0,l.kt)("li",{parentName:"ol"},"cur \u8282\u70b9\u4fee\u6539\u4e3a temp \u8282\u70b9\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u7ee7\u7eed\u8fdb\u884c\u5904\u7406\uff0c\u76f4\u5230 cur \u8282\u70b9\u4e3a null\uff0c\u8fd4\u56de pre \u8282\u70b9\u3002")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-javascript"},"/**\n * Definition for singly-linked list.\n * function ListNode(val) {\n * this.val = val;\n * this.next = null;\n * }\n */\n/**\n * @param {ListNode} head\n * @return {ListNode}\n */\nconst reverseList = (head) => {\n let cur = head; // \u6b63\u5411\u94fe\u8868\u7684\u5934\u6307\u9488\n let pre = null; // \u53cd\u5411\u94fe\u8868\u7684\u5934\u6307\u9488\n while (cur) {\n const temp = cur.next; // \u6682\u5b58\u5f53\u524d\u8282\u70b9\u7684\u540e\u7eed\u8282\u70b9\uff0c\u7528\u4e8e\u66f4\u65b0\u6b63\u5411\u94fe\u8868\n cur.next = pre; // \u5c06\u5f53\u524d\u8282\u70b9\u6307\u5411\u53cd\u5411\u94fe\u8868\uff0c\u8fd9\u662f\u4e00\u4e2a\u5efa\u7acb\u53cd\u5411\u94fe\u63a5\u7684\u8fc7\u7a0b\n pre = cur; // \u66f4\u65b0\u53cd\u5411\u94fe\u8868\u7684\u5934\u6307\u9488\u4e3a\u5f53\u524d\u5df2\u5904\u7406\u7684\u8282\u70b9\uff0c\u53cd\u5411\u94fe\u8868\u7684\u8be5\u8f6e\u6784\u5efa\u5b8c\u6210\n cur = temp; // \u5c06\u6b63\u5411\u94fe\u8868\u5934\u6307\u9488\u66ff\u6362\u4e3a\u6682\u5b58\u7684\u8282\u70b9\uff0c\u6b63\u5411\u94fe\u8868\u5904\u7406\u5b8c\u6210\uff0c\u5f00\u59cb\u4e0b\u4e00\u8f6e\u5904\u7406\n }\n return pre;\n};\n")),(0,l.kt)("h3",{id:"\u590d\u6742\u5ea6\u5206\u6790"},"\u590d\u6742\u5ea6\u5206\u6790"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u65f6\u95f4\u590d\u6742\u5ea6 O(N)\uff1a\u904d\u5386\u94fe\u8868\u4f7f\u7528\u7ebf\u6027\u5927\u5c0f\u65f6\u95f4\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u7a7a\u95f4\u590d\u6742\u5ea6 O(1)\uff1a\u53d8\u91cf pre \u548c cur \u4f7f\u7528\u5e38\u6570\u5927\u5c0f\u989d\u5916\u7a7a\u95f4\u3002")),(0,l.kt)("h2",{id:"\u89e3\u6cd5\u4e8c\u9012\u5f52"},"\u89e3\u6cd5\u4e8c\uff1a\u9012\u5f52"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://codesandbox.io/s/hzfe-suan-fa-fan-zhuan-lian-biao-di-gui-fa-forked-my3i4"},"\u5728\u7ebf\u94fe\u63a5")),(0,l.kt)("p",null,"\u5f53\u4f7f\u7528\u9012\u5f52\u5bf9\u94fe\u8868\u8fdb\u884c\u5904\u7406\u65f6\uff0c\u4ece\u94fe\u8868\u7684\u7b2c\u4e00\u4e2a\u8282\u70b9\u51fa\u53d1\uff0c\u7136\u540e\u627e\u5230\u6700\u540e\u4e00\u4e2a\u8282\u70b9\uff0c\u8be5\u8282\u70b9\u5c31\u662f\u53cd\u8f6c\u94fe\u8868\u7684\u5934\u7ed3\u70b9\uff0c\u7136\u540e\u8fdb\u884c\u56de\u6eaf\u5904\u7406\u3002"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u521d\u59cb\u94fe\u8868\u7684\u5934\u7ed3\u70b9\uff0chead \u6807\u8bc6\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u5982\u679c head \u4e3a\u7a7a\u6216\u8005 head.next \u4e3a\u7a7a\uff0c\u8fd4\u56de head\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u5b9a\u4e49 reverseHead \u8282\u70b9\uff0c\u4fdd\u5b58\u53cd\u8f6c\u7684\u94fe\u8868\u503c\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u6bcf\u6b21\u8ba9 head \u4e0b\u4e00\u4e2a\u8282\u70b9\u7684 next \u6307\u5411 head\uff0c\u5f62\u6210\u53cd\u8f6c\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u9012\u5f52\u5904\u7406\u5230\u6700\u540e\u4e00\u4e2a\u8282\u70b9\uff0c\u8fd4\u56de reverseHead\u3002")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-javascript"},"/**\n * Definition for singly-linked list.\n * function ListNode(val) {\n * this.val = val;\n * this.next = null;\n * }\n */\n/**\n * @param {ListNode} head\n * @return {ListNode}\n */\nconst reverseList = (head) => {\n // \u5224\u65ad\u5f53\u524d\u8282\u70b9\u662f\u5426\u8fd8\u9700\u8981\u5904\u7406\n if (head == null || head.next == null) {\n return head;\n }\n // \u9012\u5f52\u5904\u7406\u540e\u7eed\u8282\u70b9\n const reverseHead = reverseList(head.next);\n // \u5c40\u90e8\u53cd\u8f6c\u8282\u70b9\n head.next.next = head;\n head.next = null;\n return reverseHead;\n};\n")),(0,l.kt)("h3",{id:"\u590d\u6742\u5ea6\u5206\u6790-1"},"\u590d\u6742\u5ea6\u5206\u6790\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u65f6\u95f4\u590d\u6742\u5ea6 O(N)\uff1an \u662f\u94fe\u8868\u7684\u957f\u5ea6\uff0c\u9700\u8981\u5bf9\u94fe\u8868\u7684\u6bcf\u4e2a\u8282\u70b9\u8fdb\u884c\u53cd\u8f6c\u64cd\u4f5c\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u7a7a\u95f4\u590d\u6742\u5ea6 O(N)\uff1an \u662f\u94fe\u8868\u7684\u957f\u5ea6\uff0c\u7a7a\u95f4\u590d\u6742\u5ea6\u4e3b\u8981\u53d6\u51b3\u4e8e\u9012\u5f52\u8c03\u7528\u7684\u6808\u7a7a\u95f4\uff0c\u6700\u591a\u4e3a n \u5c42\u3002")),(0,l.kt)("h2",{id:"\u53c2\u8003\u8d44\u6599"},"\u53c2\u8003\u8d44\u6599"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("a",{parentName:"li",href:"https://book.douban.com/subject/6966465/"},"\u5251\u6307 offer"))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6b1ae1c5.60624af8.js b/assets/js/6b1ae1c5.60624af8.js deleted file mode 100644 index 49059ef..0000000 --- a/assets/js/6b1ae1c5.60624af8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkjjbook=self.webpackChunkjjbook||[]).push([[6015],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return m}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function i(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var u=r.createContext({}),p=function(e){var t=r.useContext(u),n=t;return e&&(n="function"==typeof e?e(t):i(i({},t),e)),n},c=function(e){var t=p(e.components);return r.createElement(u.Provider,{value:t},e.children)},s={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},d=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,u=e.parentName,c=o(e,["components","mdxType","originalType","parentName"]),d=p(n),m=a,f=d["".concat(u,".").concat(m)]||d[m]||s[m]||l;return n?r.createElement(f,i(i({ref:t},c),{},{components:n})):r.createElement(f,i({ref:t},c))}));function m(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,i=new Array(l);i[0]=d;var o={};for(var u in t)hasOwnProperty.call(t,u)&&(o[u]=t[u]);o.originalType=e,o.mdxType="string"==typeof e?e:a,i[1]=o;for(var p=2;p2->3->4->5->NULL\n\u8f93\u51fa: 5->4->3->2->1->NULL\n")),(0,l.kt)("h2",{id:"\u89e3\u6cd5\u4e00\u8fed\u4ee3\u53cc\u6307\u9488"},"\u89e3\u6cd5\u4e00\uff1a\u8fed\u4ee3\uff08\u53cc\u6307\u9488\uff09"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://codesandbox.io/s/hzfe-suanfa-omcjw?file=/index.html"},"\u5728\u7ebf\u94fe\u63a5")),(0,l.kt)("p",null,"\u672c\u65b9\u6cd5\u662f\u5bf9\u94fe\u8868\u8fdb\u884c\u904d\u5386\uff0c\u7136\u540e\u5728\u8bbf\u95ee\u5404\u8282\u70b9\u65f6\u4fee\u6539 next \u7684\u6307\u5411\uff0c\u8fbe\u5230\u53cd\u8f6c\u94fe\u8868\u7684\u76ee\u7684\u3002"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u521d\u59cb\u5316 cur \u548c pre \u4e24\u4e2a\u8282\u70b9\uff0c\u5206\u522b\u6307\u5411 head \u548c null\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u5bf9\u94fe\u8868\u8fdb\u884c\u5faa\u73af\uff0c\u58f0\u660e temp \u8282\u70b9\u7528\u6765\u4fdd\u5b58\u5f53\u524d\u8282\u70b9\u7684\u4e0b\u4e00\u4e2a\u8282\u70b9\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u4fee\u6539\u5f53\u524d\u8282\u70b9 cur \u7684 next \u6307\u9488\u6307\u5411\u4e3a pre \u8282\u70b9\u3002"),(0,l.kt)("li",{parentName:"ol"},"pre \u8282\u70b9\u4fee\u6539\u4e3a cur \u8282\u70b9\u3002"),(0,l.kt)("li",{parentName:"ol"},"cur \u8282\u70b9\u4fee\u6539\u4e3a temp \u8282\u70b9\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u7ee7\u7eed\u8fdb\u884c\u5904\u7406\uff0c\u76f4\u5230 cur \u8282\u70b9\u4e3a null\uff0c\u8fd4\u56de pre \u8282\u70b9\u3002")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-javascript"},"/**\n * Definition for singly-linked list.\n * function ListNode(val) {\n * this.val = val;\n * this.next = null;\n * }\n */\n/**\n * @param {ListNode} head\n * @return {ListNode}\n */\nconst reverseList = (head) => {\n let cur = head; // \u6b63\u5411\u94fe\u8868\u7684\u5934\u6307\u9488\n let pre = null; // \u53cd\u5411\u94fe\u8868\u7684\u5934\u6307\u9488\n while (cur) {\n const temp = cur.next; // \u6682\u5b58\u5f53\u524d\u8282\u70b9\u7684\u540e\u7eed\u8282\u70b9\uff0c\u7528\u4e8e\u66f4\u65b0\u6b63\u5411\u94fe\u8868\n cur.next = pre; // \u5c06\u5f53\u524d\u8282\u70b9\u6307\u5411\u53cd\u5411\u94fe\u8868\uff0c\u8fd9\u662f\u4e00\u4e2a\u5efa\u7acb\u53cd\u5411\u94fe\u63a5\u7684\u8fc7\u7a0b\n pre = cur; // \u66f4\u65b0\u53cd\u5411\u94fe\u8868\u7684\u5934\u6307\u9488\u4e3a\u5f53\u524d\u5df2\u5904\u7406\u7684\u8282\u70b9\uff0c\u53cd\u5411\u94fe\u8868\u7684\u8be5\u8f6e\u6784\u5efa\u5b8c\u6210\n cur = temp; // \u5c06\u6b63\u5411\u94fe\u8868\u5934\u6307\u9488\u66ff\u6362\u4e3a\u6682\u5b58\u7684\u8282\u70b9\uff0c\u6b63\u5411\u94fe\u8868\u5904\u7406\u5b8c\u6210\uff0c\u5f00\u59cb\u4e0b\u4e00\u8f6e\u5904\u7406\n }\n return pre;\n};\n")),(0,l.kt)("h3",{id:"\u590d\u6742\u5ea6\u5206\u6790"},"\u590d\u6742\u5ea6\u5206\u6790"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u65f6\u95f4\u590d\u6742\u5ea6 O(N)\uff1a\u904d\u5386\u94fe\u8868\u4f7f\u7528\u7ebf\u6027\u5927\u5c0f\u65f6\u95f4\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u7a7a\u95f4\u590d\u6742\u5ea6 O(1)\uff1a\u53d8\u91cf pre \u548c cur \u4f7f\u7528\u5e38\u6570\u5927\u5c0f\u989d\u5916\u7a7a\u95f4\u3002")),(0,l.kt)("h2",{id:"\u89e3\u6cd5\u4e8c\u9012\u5f52"},"\u89e3\u6cd5\u4e8c\uff1a\u9012\u5f52"),(0,l.kt)("p",null,(0,l.kt)("a",{parentName:"p",href:"https://codesandbox.io/s/hzfe-suan-fa-fan-zhuan-lian-biao-di-gui-fa-forked-my3i4"},"\u5728\u7ebf\u94fe\u63a5")),(0,l.kt)("p",null,"\u5f53\u4f7f\u7528\u9012\u5f52\u5bf9\u94fe\u8868\u8fdb\u884c\u5904\u7406\u65f6\uff0c\u4ece\u94fe\u8868\u7684\u7b2c\u4e00\u4e2a\u8282\u70b9\u51fa\u53d1\uff0c\u7136\u540e\u627e\u5230\u6700\u540e\u4e00\u4e2a\u8282\u70b9\uff0c\u8be5\u8282\u70b9\u5c31\u662f\u53cd\u8f6c\u94fe\u8868\u7684\u5934\u7ed3\u70b9\uff0c\u7136\u540e\u8fdb\u884c\u56de\u6eaf\u5904\u7406\u3002"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u521d\u59cb\u94fe\u8868\u7684\u5934\u7ed3\u70b9\uff0chead \u6807\u8bc6\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u5982\u679c head \u4e3a\u7a7a\u6216\u8005 head.next \u4e3a\u7a7a\uff0c\u8fd4\u56de head\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u5b9a\u4e49 reverseHead \u8282\u70b9\uff0c\u4fdd\u5b58\u53cd\u8f6c\u7684\u94fe\u8868\u503c\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u6bcf\u6b21\u8ba9 head \u4e0b\u4e00\u4e2a\u8282\u70b9\u7684 next \u6307\u5411 head\uff0c\u5f62\u6210\u53cd\u8f6c\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u9012\u5f52\u5904\u7406\u5230\u6700\u540e\u4e00\u4e2a\u8282\u70b9\uff0c\u8fd4\u56de reverseHead\u3002")),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-javascript"},"/**\n * Definition for singly-linked list.\n * function ListNode(val) {\n * this.val = val;\n * this.next = null;\n * }\n */\n/**\n * @param {ListNode} head\n * @return {ListNode}\n */\nconst reverseList = (head) => {\n // \u5224\u65ad\u5f53\u524d\u8282\u70b9\u662f\u5426\u8fd8\u9700\u8981\u5904\u7406\n if (head == null || head.next == null) {\n return head;\n }\n // \u9012\u5f52\u5904\u7406\u540e\u7eed\u8282\u70b9\n const reverseHead = reverseList(head.next);\n // \u5c40\u90e8\u53cd\u8f6c\u8282\u70b9\n head.next.next = head;\n head.next = null;\n return reverseHead;\n};\n")),(0,l.kt)("h3",{id:"\u590d\u6742\u5ea6\u5206\u6790-1"},"\u590d\u6742\u5ea6\u5206\u6790\uff1a"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"\u65f6\u95f4\u590d\u6742\u5ea6 O(N)\uff1an \u662f\u94fe\u8868\u7684\u957f\u5ea6\uff0c\u9700\u8981\u5bf9\u94fe\u8868\u7684\u6bcf\u4e2a\u8282\u70b9\u8fdb\u884c\u53cd\u8f6c\u64cd\u4f5c\u3002"),(0,l.kt)("li",{parentName:"ul"},"\u7a7a\u95f4\u590d\u6742\u5ea6 O(N)\uff1an \u662f\u94fe\u8868\u7684\u957f\u5ea6\uff0c\u7a7a\u95f4\u590d\u6742\u5ea6\u4e3b\u8981\u53d6\u51b3\u4e8e\u9012\u5f52\u8c03\u7528\u7684\u6808\u7a7a\u95f4\uff0c\u6700\u591a\u4e3a n \u5c42\u3002")),(0,l.kt)("h2",{id:"\u53c2\u8003\u8d44\u6599"},"\u53c2\u8003\u8d44\u6599"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("a",{parentName:"li",href:"https://book.douban.com/subject/6966465/"},"\u5251\u6307 offer"))))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.e4536af0.js b/assets/js/runtime~main.31521424.js similarity index 61% rename from assets/js/runtime~main.e4536af0.js rename to assets/js/runtime~main.31521424.js index 14c4122..66db2f9 100644 --- a/assets/js/runtime~main.e4536af0.js +++ b/assets/js/runtime~main.31521424.js @@ -1 +1 @@ -!function(){"use strict";var e,t,n,r,f,a={},o={};function d(e){var t=o[e];if(void 0!==t)return t.exports;var n=o[e]={id:e,loaded:!1,exports:{}};return a[e].call(n.exports,n,n.exports,d),n.loaded=!0,n.exports}d.m=a,d.c=o,e=[],d.O=function(t,n,r,f){if(!n){var a=1/0;for(i=0;i=f)&&Object.keys(d.O).every((function(e){return d.O[e](n[c])}))?n.splice(c--,1):(o=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[n,r,f]},d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},d.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);d.r(f);var a={};t=t||[null,n({}),n([]),n(n)];for(var o=2&r&&e;"object"==typeof o&&!~t.indexOf(o);o=n(o))Object.getOwnPropertyNames(o).forEach((function(t){a[t]=function(){return e[t]}}));return a.default=function(){return e},d.d(f,a),f},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.f={},d.e=function(e){return Promise.all(Object.keys(d.f).reduce((function(t,n){return d.f[n](e,t),t}),[]))},d.u=function(e){return"assets/js/"+({53:"935f2afb",334:"505fc875",737:"90b799f4",1050:"da95f3d6",1440:"3bd79dc4",2299:"605371c8",2575:"99c95826",2617:"6b15a8e7",2872:"972d49dd",3085:"1f391b9e",3253:"667a1a38",3280:"e31563f4",3467:"7b60a092",3751:"3720c009",3989:"e420c2e8",4051:"e9fc5b99",4109:"f4f9ee34",4121:"55960ee5",5131:"5825b5f0",5211:"b728f6fe",5365:"59da24a9",5582:"7c39e10e",5722:"0ba2ede9",5851:"a757db9b",5986:"d5444868",6015:"6b1ae1c5",6099:"312ed758",6238:"d9cd0856",6283:"b948ee85",6553:"f930e7e8",6686:"d9d15992",6695:"26d83c4c",6756:"520898ab",7198:"bfa6c7fa",7259:"8584d295",7530:"223d151b",7544:"216712ef",7802:"31bf44dd",8670:"ab21f6e2",8721:"57076a74",8765:"5ba709b9",9429:"5cddde15",9500:"2ad5369a",9514:"1be78505",9591:"d4358da1",9791:"e2f5eafd"}[e]||e)+"."+{53:"d0fa3498",334:"9a1cd849",737:"bdec9a41",1050:"1b5d8318",1440:"8e04cafd",2299:"b7d336b2",2575:"7efad0bb",2617:"6c654b0c",2872:"750090c3",3085:"0f096e55",3253:"a4c2fee2",3280:"b81cc0da",3467:"d8164d08",3751:"773122a5",3989:"c5723190",4051:"bda28e1b",4109:"18339588",4121:"4d9a8cf8",4300:"5b5b0db3",4608:"b2ca5405",5131:"f3cdcaad",5211:"69023d8d",5227:"34408b29",5256:"af290edc",5365:"9adc8692",5582:"8deb78fc",5722:"9f8d4b14",5851:"a44aff8c",5986:"ea0b1c91",6015:"60624af8",6099:"35fb5dae",6159:"efe866bf",6238:"3da8a59a",6283:"0eed787e",6553:"5d61cb8e",6686:"1d60e541",6695:"ed78a45c",6756:"120dd2ef",6945:"68489484",7198:"10680ff6",7259:"5401ea54",7530:"07e5b2ad",7544:"f2f75e4c",7802:"f3ebea4f",8670:"9b04f3ad",8721:"1d980d9a",8765:"5880201c",9429:"a4765f1e",9500:"784ec345",9514:"9a0e6ffb",9591:"ba5b02b5",9727:"11e81aad",9791:"3cb61d56"}[e]+".js"},d.miniCssF=function(e){return"assets/css/styles.304d13b7.css"},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},f="jjbook:",d.l=function(e,t,n,a){if(r[e])r[e].push(t);else{var o,c;if(void 0!==n)for(var u=document.getElementsByTagName("script"),i=0;i=f)&&Object.keys(c.O).every((function(e){return c.O[e](n[d])}))?n.splice(d--,1):(o=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[n,r,f]},c.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return c.d(t,{a:t}),t},n=Object.getPrototypeOf?function(e){return Object.getPrototypeOf(e)}:function(e){return e.__proto__},c.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var f=Object.create(null);c.r(f);var a={};t=t||[null,n({}),n([]),n(n)];for(var o=2&r&&e;"object"==typeof o&&!~t.indexOf(o);o=n(o))Object.getOwnPropertyNames(o).forEach((function(t){a[t]=function(){return e[t]}}));return a.default=function(){return e},c.d(f,a),f},c.d=function(e,t){for(var n in t)c.o(t,n)&&!c.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},c.f={},c.e=function(e){return Promise.all(Object.keys(c.f).reduce((function(t,n){return c.f[n](e,t),t}),[]))},c.u=function(e){return"assets/js/"+({53:"935f2afb",334:"505fc875",737:"90b799f4",1050:"da95f3d6",1440:"3bd79dc4",2299:"605371c8",2575:"99c95826",2617:"6b15a8e7",2872:"972d49dd",3085:"1f391b9e",3253:"667a1a38",3280:"e31563f4",3467:"7b60a092",3751:"3720c009",3989:"e420c2e8",4051:"e9fc5b99",4109:"f4f9ee34",4121:"55960ee5",5131:"5825b5f0",5211:"b728f6fe",5365:"59da24a9",5582:"7c39e10e",5722:"0ba2ede9",5851:"a757db9b",5986:"d5444868",6015:"6b1ae1c5",6099:"312ed758",6238:"d9cd0856",6283:"b948ee85",6553:"f930e7e8",6686:"d9d15992",6695:"26d83c4c",6756:"520898ab",7198:"bfa6c7fa",7259:"8584d295",7530:"223d151b",7544:"216712ef",7802:"31bf44dd",8670:"ab21f6e2",8721:"57076a74",8765:"5ba709b9",9429:"5cddde15",9500:"2ad5369a",9514:"1be78505",9591:"d4358da1",9791:"e2f5eafd"}[e]||e)+"."+{53:"d0fa3498",334:"9a1cd849",737:"bdec9a41",1050:"1b5d8318",1440:"8e04cafd",2299:"b7d336b2",2575:"7efad0bb",2617:"6c654b0c",2872:"750090c3",3085:"0f096e55",3253:"a4c2fee2",3280:"b81cc0da",3467:"d8164d08",3751:"773122a5",3989:"c5723190",4051:"bda28e1b",4109:"18339588",4121:"4d9a8cf8",4300:"5b5b0db3",4608:"b2ca5405",5131:"f3cdcaad",5211:"69023d8d",5227:"34408b29",5256:"af290edc",5365:"9adc8692",5582:"8deb78fc",5722:"9f8d4b14",5851:"a44aff8c",5986:"ea0b1c91",6015:"1e7fd378",6099:"b9f75391",6159:"efe866bf",6238:"3da8a59a",6283:"0eed787e",6553:"5d61cb8e",6686:"1d60e541",6695:"7ad3c914",6756:"120dd2ef",6945:"68489484",7198:"10680ff6",7259:"5401ea54",7530:"07e5b2ad",7544:"f2f75e4c",7802:"f3ebea4f",8670:"9b04f3ad",8721:"1d980d9a",8765:"5880201c",9429:"a4765f1e",9500:"784ec345",9514:"9a0e6ffb",9591:"ba5b02b5",9727:"11e81aad",9791:"3cb61d56"}[e]+".js"},c.miniCssF=function(e){return"assets/css/styles.304d13b7.css"},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r={},f="jjbook:",c.l=function(e,t,n,a){if(r[e])r[e].push(t);else{var o,d;if(void 0!==n)for(var u=document.getElementsByTagName("script"),i=0;i