<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[jaimeding's Blog]]></title><description><![CDATA[记录学习和生活中有趣的事。]]></description><link>https://jaimeding.cool:443/</link><image><url>https://jaimeding.cool:443/favicon.png</url><title>jaimeding&apos;s Blog</title><link>https://jaimeding.cool:443/</link></image><generator>Ghost 4.41</generator><lastBuildDate>Thu, 23 Apr 2026 19:11:07 GMT</lastBuildDate><atom:link href="https://jaimeding.cool:443/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[HTTPS的连接过程与加密机制]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://jaimeding.cool:443/content/images/2022/05/image.png" class="kg-image" alt loading="lazy" width="275" height="183"></figure><p>&#x4E0A;&#x4E00;&#x7BC7;<a href="https://jaimeding.cool:443/zhou-mo-sui-sui-nian/">&#x535A;&#x5BA2;</a>&#x63D0;&#x5230;&#x4E86;HTTPS&#xFF0C;&#x4ECA;&#x5929;&#x5C31;&#x6765;&#x56DE;&#x987E;&#x4E0B;HTTPS&#x8FDE;&#x63A5;&#x8FC7;&#x7A0B;&#x4E2D;&#x7684;&#x5404;&#x4E2A;&#x9636;&#x6BB5;&#x548C;&#x4F7F;&#x7528;&#x7684;&#x52A0;&#x5BC6;&#x673A;&#x5236;&#x5427;&#x3002;&#x7EF4;&#x57FA;&#x767E;&#x79D1;&#x5BF9;&#x5176;&#x5B9A;&#x4E49;&#x5982;&#x4E0B;&#xFF1A;</p><!--kg-card-begin: markdown--><blockquote>
<p>Hypertext</p></blockquote>]]></description><link>https://jaimeding.cool:443/h/</link><guid isPermaLink="false">626fca226022d400019a6a8c</guid><category><![CDATA[计算机网络那些事]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Mon, 02 May 2022 13:50:50 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://jaimeding.cool:443/content/images/2022/05/image.png" class="kg-image" alt loading="lazy" width="275" height="183"></figure><p>&#x4E0A;&#x4E00;&#x7BC7;<a href="https://jaimeding.cool:443/zhou-mo-sui-sui-nian/">&#x535A;&#x5BA2;</a>&#x63D0;&#x5230;&#x4E86;HTTPS&#xFF0C;&#x4ECA;&#x5929;&#x5C31;&#x6765;&#x56DE;&#x987E;&#x4E0B;HTTPS&#x8FDE;&#x63A5;&#x8FC7;&#x7A0B;&#x4E2D;&#x7684;&#x5404;&#x4E2A;&#x9636;&#x6BB5;&#x548C;&#x4F7F;&#x7528;&#x7684;&#x52A0;&#x5BC6;&#x673A;&#x5236;&#x5427;&#x3002;&#x7EF4;&#x57FA;&#x767E;&#x79D1;&#x5BF9;&#x5176;&#x5B9A;&#x4E49;&#x5982;&#x4E0B;&#xFF1A;</p><!--kg-card-begin: markdown--><blockquote>
<p>Hypertext Transfer Protocol Secure (HTTPS) is an extension of the Hypertext Transfer Protocol (HTTP). It is used for secure communication over a computer network, and is widely used on the Internet.[1][2] In HTTPS, the communication protocol is encrypted using Transport Layer Security (TLS) or, formerly, Secure Sockets Layer (SSL). The protocol is therefore also referred to as HTTP over TLS,[3] or HTTP over SSL.</p>
</blockquote>
<!--kg-card-end: markdown--><p>&#x7B80;&#x5355;&#x7684;&#x8BF4;&#xFF0C;HTTPS&#x4ECD;&#x7136;&#x7528;HTTP&#x8FDB;&#x884C;&#x901A;&#x8BAF;&#xFF0C;&#x4F46;&#x5728;&#x6B64;&#x57FA;&#x7840;&#x4E0A;&#x4F7F;&#x7528;SSL/TLS&#x534F;&#x8BAE;&#x52A0;&#x5BC6;&#x5C01;&#x5305;&#x3002;&#x5F15;&#x5165;&#x8BE5;&#x534F;&#x8BAE;&#x4E3B;&#x8981;&#x662F;&#x56E0;&#x4E3A;HTTP&#x534F;&#x8BAE;&#x660E;&#x6587;&#x4F20;&#x8F93;&#x6570;&#x636E;&#xFF0C;&#x5B58;&#x5728;&#x4EE5;&#x4E0B;&#x4E09;&#x5927;&#x95EE;&#x9898;&#xFF1A;</p><!--kg-card-begin: markdown--><ol>
<li>&#x7531;&#x4E8E;&#x6570;&#x636E;&#x662F;&#x660E;&#x6587;&#x4F20;&#x8F93;&#x7684;&#xFF0C;&#x5BB9;&#x6613;&#x9020;&#x6210;&#x7528;&#x6237;&#x9690;&#x79C1;&#x6CC4;&#x6F0F;&#x3002;</li>
<li>&#x7F51;&#x7AD9;&#x53EF;&#x9760;&#x6027;&#x5B58;&#x7591;&#xFF0C;&#x53EF;&#x80FD;&#x662F;&#x6076;&#x610F;&#x653B;&#x51FB;&#x8005;&#x4F2A;&#x88C5;&#x3002;</li>
<li>&#x6570;&#x636E;&#x7684;&#x5B8C;&#x6574;&#x6027;&#x65E0;&#x6CD5;&#x8BC1;&#x660E;&#xFF0C;&#x53EF;&#x80FD;&#x88AB;&#x7BE1;&#x6539;&#x3002;</li>
</ol>
<!--kg-card-end: markdown--><h2 id="%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88">&#x89E3;&#x51B3;&#x65B9;&#x6848;</h2><p>&#x9488;&#x5BF9;&#x95EE;&#x9898;&#x4E00;&#xFF0C;&#x76F4;&#x89C2;&#x7684;&#x89E3;&#x51B3;&#x65B9;&#x6848;&#x662F;&#x5BF9;&#x6570;&#x636E;&#x8FDB;&#x884C;&#x52A0;&#x5BC6;&#x3002;&#x5BF9;&#x79F0;&#x52A0;&#x5BC6;&#x7B97;&#x6CD5;&#x662F;&#x4E00;&#x79CD;&#x5E38;&#x89C1;&#x7684;&#x52A0;&#x5BC6;&#x65B9;&#x5F0F;&#xFF0C;&#x52A0;&#x5BC6;/&#x89E3;&#x5BC6;&#x4F7F;&#x7528;&#x76F8;&#x540C;&#x7684;&#x5BC6;&#x94A5;&#x3002;&#x4F7F;&#x7528;&#x4E86;&#x8BE5;&#x52A0;&#x5BC6;&#x7B97;&#x6CD5;&#x540E;&#xFF0C;&#x9ED1;&#x5BA2;&#x5373;&#x4F7F;&#x622A;&#x83B7;&#x4E86;&#x6570;&#x636E;&#xFF0C;&#x82E5;&#x6CA1;&#x6709;&#x5BC6;&#x94A5;&#x5C31;&#x65E0;&#x6CD5;&#x89E3;&#x5BC6;&#x3002;&#x4F46;&#x662F;&#x6B64;&#x65F6;&#x5B58;&#x5728;&#x7684;&#x95EE;&#x9898;&#x662F;&#xFF0C;&#x6D4F;&#x89C8;&#x5668;/&#x670D;&#x52A1;&#x5668;&#x5982;&#x4F55;&#x53D1;&#x9001;&#x5BC6;&#x94A5;&#x5462;&#xFF1F;&#x5BC6;&#x94A5;&#x5728;&#x4F20;&#x8F93;&#x8FC7;&#x7A0B;&#x4E2D;&#x53EF;&#x80FD;&#x88AB;&#x9ED1;&#x5BA2;&#x622A;&#x83B7;&#xFF0C;&#x90A3;&#x4E48;&#x6570;&#x636E;&#x5C31;&#x4E0D;&#x518D;&#x5B89;&#x5168;&#x4E86;&#x3002;</p><p>&#x6B64;&#x65F6;&#x53EF;&#x5F15;&#x8FDB;<a href="https://www.liaoxuefeng.com/wiki/1252599548343744/1304227873816610">&#x975E;&#x5BF9;&#x79F0;&#x52A0;&#x5BC6;&#x7B97;&#x6CD5;</a>&#x89E3;&#x51B3;&#x4E0A;&#x8FF0;&#x95EE;&#x9898;&#x3002;&#x670D;&#x52A1;&#x5668;&#x53EF;&#x5C06;&#x300C;&#x516C;&#x94A5;&#x300D;&#x53D1;&#x9001;&#x7ED9;&#x7528;&#x6237;&#xFF0C;&#x7528;&#x6237;&#x4F7F;&#x7528;&#x8BE5;&#x300C;&#x516C;&#x94A5;&#x300D;&#x52A0;&#x5BC6;&#x6570;&#x636E;&#x3002;&#x7531;&#x4E8E;&#x53EA;&#x6709;&#x670D;&#x52A1;&#x5668;&#x62E5;&#x6709;&#x5BF9;&#x5E94;&#x7684;&#x300C;&#x79C1;&#x94A5;&#x300D;&#x53EF;&#x4EE5;&#x89E3;&#x5BC6;&#x6570;&#x636E;&#x3002;&#x9ED1;&#x5BA2;&#x5373;&#x4F7F;&#x622A;&#x83B7;&#x4E86;&#x6570;&#x636E;&#x4E5F;&#x65E0;&#x6CD5;&#x7834;&#x89E3;&#x3002;</p><p>&#x8FD9;&#x79CD;&#x65B9;&#x5F0F;&#x4E0B;&#xFF0C;&#x7528;&#x6237;&#x53D1;&#x9001;&#x7ED9;&#x670D;&#x52A1;&#x5668;&#x7684;&#x6570;&#x636E;&#x5C31;&#x90FD;&#x662F;&#x7ECF;&#x8FC7;&#x52A0;&#x5BC6;&#x7684;&#x3002;&#x4F46;&#x662F;&#xFF0C;&#x5982;&#x679C;&#x670D;&#x52A1;&#x5668;&#x8981;&#x7ED9;&#x7528;&#x6237;&#x53D1;&#x9001;&#x6570;&#x636E;&#x5462;&#xFF1F;&#x56E0;&#x4E3A;&#x300C;&#x516C;&#x94A5;&#x300D;&#x662F;&#x5728;&#x7F51;&#x4E0A;&#x4F20;&#x64AD;&#x7684;&#xFF0C;&#x7528;&#x6237;&#x53EF;&#x4EE5;&#x62FF;&#x300C;&#x516C;&#x94A5;&#x300D;&#x89E3;&#x5BC6;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x7684;&#x6570;&#x636E;&#xFF0C;&#x9ED1;&#x5BA2;&#x540C;&#x6837;&#x4E5F;&#x53EF;&#x4EE5;&#x3002;&#x770B;&#x6765;&#x8FD9;&#x65F6;&#x5019;&#x4E00;&#x5BF9;&#x516C;/&#x79C1;&#x94A5;&#x5C31;&#x4E0D;&#x591F;&#x4E86;&#xFF0C;&#x7528;&#x6237;&#x4E5F;&#x9700;&#x8981;&#x5C06;&#x81EA;&#x5DF1;&#x7684;&#x300C;&#x516C;&#x94A5;&#x300D;&#x53D1;&#x9001;&#x7ED9;&#x670D;&#x52A1;&#x5668;&#x3002;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x6570;&#x636E;&#x524D;&#x4F7F;&#x7528;&#x8BE5;&#x300C;&#x516C;&#x94A5;&#x300D;&#x52A0;&#x5BC6;&#x6570;&#x636E;&#x3002;&#x8FD9;&#x6837;&#x5C31;&#x53EA;&#x6709;&#x5BF9;&#x5E94;&#x7684;&#x7528;&#x6237;&#x80FD;&#x89E3;&#x5BC6;&#x6570;&#x636E;&#x4E86;&#x3002;</p><p>&#x8FD9;&#x6837;&#x770B;&#x8D77;&#x6765;&#x5C31;&#x6BD4;&#x8F83;&quot;&#x5B8C;&#x7F8E;&quot;&#x4E86;--&#x4F46;&#x5176;&#x5B9E;&#x4ECD;&#x7136;&#x5B58;&#x5728;&#x95EE;&#x9898;&#xFF1A;&#x9ED1;&#x5BA2;&#x53EF;&#x4EE5;&#x622A;&#x83B7;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x7684;&#x300C;&#x771F;&#x516C;&#x94A5;&#x300D;&#xFF0C;&#x7136;&#x540E;&#x66FF;&#x6362;&#x4E3A;&#x300C;&#x5047;&#x516C;&#x94A5;&#x300D;&#x518D;&#x53D1;&#x9001;&#x7ED9;&#x7528;&#x6237;&#x3002;&#x7528;&#x6237;&#x6B64;&#x65F6;&#x5E76;&#x6CA1;&#x6709;&#x611F;&#x77E5;&#xFF0C;&#x8FD8;&#x4EE5;&#x4E3A;&#x662F;&#x670D;&#x52A1;&#x5668;&#x53D1;&#x9001;&#x7684;&#x300C;&#x771F;&#x516C;&#x94A5;&#x300D;&#x3002;&#x7528;&#x6237;&#x4F7F;&#x7528;&#x9ED1;&#x5BA2;&#x751F;&#x6210;&#x7684;&#x300C;&#x5047;&#x516C;&#x94A5;&#x300D;&#x52A0;&#x5BC6;&#x6570;&#x636E;&#xFF0C;&#x9ED1;&#x5BA2;&#x5C31;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x300C;&#x5047;&#x79C1;&#x94A5;&#x300D;&#x89E3;&#x5BC6;&#x3002;&#x77E5;&#x9053;&#x4E86;&#x6570;&#x636E;&#x5185;&#x5BB9;&#x540E;&#xFF0C;&#x9ED1;&#x5BA2;&#x751A;&#x81F3;&#x53EF;&#x4EE5;&#x5BF9;&#x6570;&#x636E;&#x8FDB;&#x884C;&#x4FEE;&#x6539;&#xFF0C;&#x7136;&#x540E;&#x518D;&#x4F7F;&#x7528;&#x670D;&#x52A1;&#x5668;&#x7684;&#x300C;&#x771F;&#x516C;&#x94A5;&#x300D;&#x52A0;&#x5BC6;&#x540E;&#x53D1;&#x7ED9;&#x670D;&#x52A1;&#x5668;&#x3002;&#x7531;&#x6B64;&#xFF0C;&#x9ED1;&#x5BA2;&#x5B8C;&#x6210;&#x4E86;&#x7528;&#x6237;&#x6570;&#x636E;&#x7684;&#x7A83;&#x53D6;&#x548C;&#x7BE1;&#x6539;&#x3002;</p><p>&#x4E0A;&#x8FF0;&#x653B;&#x51FB;&#x79F0;&#x4E3A;&quot;&#x4E2D;&#x95F4;&#x4EBA;&#x653B;&#x51FB;&quot;&#xFF0C;&#x5BF9;&#x4E8E;&#x7528;&#x6237;&#x548C;&#x670D;&#x52A1;&#x5668;&#x800C;&#x8A00;&#xFF0C;&#x90FD;&#x6CA1;&#x6709;&#x611F;&#x77E5;&#x5230;&#x5B58;&#x5728;&#x7B2C;&#x4E09;&#x65B9;&#x3002;&#x7A76;&#x5176;&#x539F;&#x56E0;&#xFF0C;&#x4E3B;&#x8981;&#x662F;&#x7528;&#x6237;&#x65E0;&#x6CD5;&#x5224;&#x522B;&#x83B7;&#x53D6;&#x5230;&#x7684;&#x300C;&#x516C;&#x94A5;&#x300D;&#x7684;&#x5408;&#x6CD5;&#x6027;&#x3002;&#x6B64;&#x65F6;&#x5C31;&#x9700;&#x8981;&#x4F7F;&#x7528;&#x300C;&#x6570;&#x5B57;&#x8BC1;&#x4E66;&#x300D;&#x6765;&#x4E3A;&#x7F51;&#x7AD9;&#x548C;&#x300C;&#x516C;&#x94A5;&#x300D;&#x505A;&#x80CC;&#x4E66;&#xFF0C;&#x300C;&#x6570;&#x5B57;&#x8BC1;&#x4E66;&#x300D;&#x662F;&#x7531;&#x6743;&#x5A01;&#x673A;&#x6784;&#x7B7E;&#x53D1;&#x3002;&#x300C;&#x6570;&#x5B57;&#x8BC1;&#x4E66;&#x300D;&#x4E0A;&#x4F1A;&#x5305;&#x542B;&#x300C;&#x516C;&#x94A5;&#x300D;&#x3001;&#x8BC1;&#x4E66;&#x7684;&#x6388;&#x4E88;&#x673A;&#x6784;&#x3001;&#x8BC1;&#x4E66;&#x6240;&#x6709;&#x8005;&#x3001;&#x6709;&#x6548;&#x65F6;&#x95F4;&#x7B49;&#x4FE1;&#x606F;&#x3002;&#x6743;&#x5A01;&#x673A;&#x6784;&#xFF08;Certificate Authority&#xFF09;&#x5148;&#x5BF9;&#x4E0A;&#x8FF0;&#x8BC1;&#x4E66;&#x4E2D;&#x5305;&#x542B;&#x7684;&#x4FE1;&#x606F;&#x505A;&#x4E00;&#x6B21;Hash&#x8BA1;&#x7B97;&#xFF0C;&#x518D;&#x4F7F;&#x7528;&#x81EA;&#x5DF1;&#x7684;&#x79C1;&#x94A5;&#x5BF9;Hash&#x8BA1;&#x7B97;&#x7684;&#x7ED3;&#x679C;&#x8FDB;&#x884C;&#x52A0;&#x5BC6;&#xFF08;&#x52A0;&#x5BC6;&#x7ED3;&#x679C;&#x79F0;&#x4E3A;&#x6570;&#x5B57;&#x7B7E;&#x540D;&#xFF09;&#x3002;&#x7528;&#x6237;&#x62FF;&#x5230;&#x8BC1;&#x4E66;&#x540E;&#xFF0C;&#x4F7F;&#x7528;&#x6743;&#x5A01;&#x673A;&#x6784;&#x7684;&#x300C;&#x516C;&#x94A5;&#x300D;&#x5BF9;&#x6570;&#x5B57;&#x7B7E;&#x540D;&#x8FDB;&#x884C;&#x89E3;&#x5BC6;&#xFF0C;&#x518D;&#x5BF9;&#x6570;&#x5B57;&#x8BC1;&#x4E66;&#x91CC;&#x7684;&#x4FE1;&#x606F;&#x4E5F;&#x505A;&#x4E00;&#x6B21;Hash&#x8BA1;&#x7B97;&#x3002;&#x5982;&#x679C;&#x89E3;&#x5BC6;&#x7ED3;&#x679C;&#x548C;Hash&#x8BA1;&#x7B97;&#x7ED3;&#x679C;&#x76F8;&#x540C;&#xFF0C;&#x5219;&#x8BC1;&#x660E;&#x8BC1;&#x4E66;&#x4E3A;&#x771F;&#x3002;&#x7F51;&#x7AD9;&#x548C;&#x300C;&#x516C;&#x94A5;&#x300D;&#x90FD;&#x662F;&#x53EF;&#x4FE1;&#x7684;&#x3002;</p><p>&#x8FD9;&#x91CC;&#x9700;&#x8981;&#x6CE8;&#x610F;&#x7684;&#x4E00;&#x70B9;&#x662F;&#xFF1A;&#x7528;&#x6237;&#x6301;&#x6709;&#x6743;&#x5A01;&#x673A;&#x6784;&#x7684;&#x300C;&#x516C;&#x94A5;&#x300D;&#x3002;&#x90A3;&#x4E48;&#x7528;&#x6237;&#x662F;&#x600E;&#x4E48;&#x83B7;&#x5F97;&#x6743;&#x5A01;&#x673A;&#x6784;&#x7684;&#x300C;&#x516C;&#x94A5;&#x300D;&#x5462;&#xFF1F;&#x5176;&#x5B9E;&#x8FD9;&#x662F;&#x9884;&#x88C5;&#x5728;&#x64CD;&#x4F5C;&#x7CFB;&#x7EDF;&#x4E2D;&#x7684;&#x3002;&#x6240;&#x4EE5;&#x5343;&#x4E07;&#x4E0D;&#x8981;&#x5B89;&#x88C5;&#x6765;&#x5386;&#x4E0D;&#x660E;&#x7684;&#x7CFB;&#x7EDF;&#xFF0C;&#x5426;&#x5219;&#x5C31;&#x76F8;&#x5F53;&#x4E8E;&#x5728;&#x88F8;&#x5954;&#x3002;</p><p>&#x81F3;&#x6B64;&#xFF0C;&#x9ED1;&#x5BA2;&#x5C31;&#x5F7B;&#x5E95;&#x65E0;&#x6CD5;&#x7834;&#x89E3;&#x3001;&#x7BE1;&#x6539;&#x7528;&#x6237;&#x7684;&#x6570;&#x636E;&#x4E86;&#x3002;&#x7F51;&#x7AD9;&#x65B9;&#x4E5F;&#x80FD;&#x591F;&#x8BC1;&#x660E;&#x81EA;&#x8EAB;&#x7684;&#x5408;&#x6CD5;&#x6027;&#x3002;&#xFF08;&#x5373;&#x89E3;&#x51B3;&#x4E86;HTTP&#x7684;&#x7B2C;&#x4E8C;&#x3001;&#x4E09;&#x4E2A;&#x95EE;&#x9898;&#xFF09;</p>]]></content:encoded></item><item><title><![CDATA[周末碎碎念]]></title><description><![CDATA[<figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://jaimeding.cool:443/content/images/2022/04/image-3.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://jaimeding.cool:443/content/images/size/w600/2022/04/image-3.png 600w, https://jaimeding.cool:443/content/images/size/w1000/2022/04/image-3.png 1000w, https://jaimeding.cool:443/content/images/2022/04/image-3.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>&#x300A;&#x6C99;&#x4E18; Dune&#x300B;&#x5267;&#x7167;</figcaption></figure><p>&#x8D81;&#x7740;&#x5468;&#x672B;&#x7684;&#x65F6;&#x95F4;&#x7ED9;&#x535A;&#x5BA2;&#x52A0;&#x4E86;HTTPS&#xFF0C;&#x52A0;&#x4E0A;&#x524D;&#x6BB5;&#x65F6;&#x95F4;&#x7684;&#x670D;&#x52A1;&#x5668;&#x8D2D;&#x4E70;&#x3001;&#x73AF;&#x5883;&#x642D;&#x5EFA;&#x3001;&#x57DF;&#x540D;&#x5907;&#x6848;&#x3001;&#x516C;&#x5B89;&#x5907;&#x6848;&#x7B49;&#x4E00;</p>]]></description><link>https://jaimeding.cool:443/zhou-mo-sui-sui-nian/</link><guid isPermaLink="false">6263df046022d400019a6a6a</guid><category><![CDATA[闲聊]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Sat, 23 Apr 2022 11:27:38 GMT</pubDate><content:encoded><![CDATA[<figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://jaimeding.cool:443/content/images/2022/04/image-3.png" class="kg-image" alt loading="lazy" width="1200" height="630" srcset="https://jaimeding.cool:443/content/images/size/w600/2022/04/image-3.png 600w, https://jaimeding.cool:443/content/images/size/w1000/2022/04/image-3.png 1000w, https://jaimeding.cool:443/content/images/2022/04/image-3.png 1200w" sizes="(min-width: 720px) 720px"><figcaption>&#x300A;&#x6C99;&#x4E18; Dune&#x300B;&#x5267;&#x7167;</figcaption></figure><p>&#x8D81;&#x7740;&#x5468;&#x672B;&#x7684;&#x65F6;&#x95F4;&#x7ED9;&#x535A;&#x5BA2;&#x52A0;&#x4E86;HTTPS&#xFF0C;&#x52A0;&#x4E0A;&#x524D;&#x6BB5;&#x65F6;&#x95F4;&#x7684;&#x670D;&#x52A1;&#x5668;&#x8D2D;&#x4E70;&#x3001;&#x73AF;&#x5883;&#x642D;&#x5EFA;&#x3001;&#x57DF;&#x540D;&#x5907;&#x6848;&#x3001;&#x516C;&#x5B89;&#x5907;&#x6848;&#x7B49;&#x4E00;&#x7CFB;&#x5217;&#x4E8B;&#x9879;&#xFF0C;&#x535A;&#x5BA2;&#x7B97;&#x662F;&#x521D;&#x6B65;&#x642D;&#x5EFA;&#x8D77;&#x6765;&#x4E86;&#x3002;&#x540E;&#x9762;&#x6709;&#x7A7A;&#x4E86;&#x518D;&#x7EE7;&#x7EED;&#x5B8C;&#x5584;&#x8BC4;&#x8BBA;&#x3001;&#x70B9;&#x8D5E;&#x7B49;&#x529F;&#x80FD;&#x3002;</p><p>&#x4ECA;&#x5929;&#x662F;&#x5F00;&#x59CB;&#x6267;&#x884C;&#x300C;&#x6BCF;&#x65E5;&#x4E00;&#x9898;&#x300D;&#x8BA1;&#x5212;&#x7684;&#x7B2C;32&#x5929;&#xFF0C;&#x521A;&#x5F00;&#x59CB;&#x4EE5;&#x5F62;&#x6210;&#x4E60;&#x60EF;&#x4E3A;&#x4E3B;&#xFF0C;&#x5148;&#x4ECE;Easy&#x9898;&#x5F00;&#x59CB;&#xFF0C;&#x6BCF;&#x5929;&#x575A;&#x6301;&#x505A;&#x4E00;&#x9898;&#x3002;&#x6700;&#x521D;&#x7684;&#x60F3;&#x6CD5;&#x662F;&#x592F;&#x5B9E;&#x57FA;&#x7840;&#xFF0C;&#x4E09;&#x4E94;&#x5E74;&#x540E;&#x8DF3;&#x69FD;&#x65F6;&#x6709;&#x66F4;&#x591A;&#x9009;&#x62E9;&#x6743;&#x3002;&#x65E0;&#x5948;&#x6700;&#x8FD1;&#x4E92;&#x8054;&#x7F51;&#x5F00;&#x59CB;&#x4E86;&quot;&#x6BD5;&#x4E1A;&#x5B63;&quot;&#xFF0C;&#x8BA1;&#x5212;&#x53EF;&#x80FD;&#x8981;&#x88AB;&#x8FEB;&#x63D0;&#x524D;&#x3002;&#x56E0;&#x6B64;&#x5F00;&#x59CB;&#x505A;&#x529B;&#x6263;&#x7684;<a href="https://leetcode-cn.com/study-plan/lcof/">&#x5251;&#x6307;Offer</a>&#x8BA1;&#x5212;&#x3002;&#x65E9;&#x671F;&#x4E3A;&#x5F62;&#x6210;&#x4E60;&#x60EF;&#xFF0C;&#x6BCF;&#x5929;&#x505A;&#x5B8C;&#x9898;&#x540E;&#x5728;&#x535A;&#x5BA2;&quot;&#x6253;&#x5361;&quot;&#x3002;&#x575A;&#x6301;&#x4E00;&#x4E2A;&#x6708;&#x540E;&#x4E60;&#x60EF;&#x57FA;&#x672C;&#x517B;&#x6210;&#x4E86;&#xFF0C;&#x540E;&#x7EED;&#x4E0D;&#x518D;&#x66F4;&#x65B0;&#x5237;&#x9898;&#x5185;&#x5BB9;&#x5230;&#x535A;&#x5BA2;&#x4E2D;&#x3002;&#x540E;&#x9762;&#x535A;&#x5BA2;&#x7684;&#x6280;&#x672F;&#x90E8;&#x5206;&#x4F1A;&#x66F4;&#x4FA7;&#x91CD;&#x5B66;&#x4E60;&#x7B14;&#x8BB0;&#x3001;&#x77E5;&#x8BC6;&#x70B9;&#x5F52;&#x7EB3;&#x603B;&#x7ED3;&#x7B49;&#x3002;</p><p>&#x6700;&#x8FD1;&#x7684;&quot;&#x6BD5;&#x4E1A;&#x5B63;&quot;&#xFF0C;&#x7740;&#x5B9E;&#x8BA9;&#x6211;&#x7126;&#x8651;&#x4E86;&#x5F88;&#x4E45;&#x3002;&#x4F5C;&#x4E3A;&#x5DE5;&#x4F5C;&#x4E0D;&#x5230;&#x4E00;&#x5E74;&#x7684;&#x6821;&#x62DB;&#x6BD5;&#x4E1A;&#x751F;&#xFF0C;&#x4E0D;&#x518D;&#x6709;&#x6821;&#x62DB;&#x751F;&#x8FD9;&#x5C42;&#x8EAB;&#x4EFD;&#x5E87;&#x62A4;&#xFF0C;&#x8BBA;&#x5DE5;&#x4F5C;&#x7ECF;&#x9A8C;&#x53C8;&#x4E0D;&#x53CA;&#x5DE5;&#x4F5C;&#x591A;&#x5E74;&#x7684;&#x793E;&#x62DB;&#x5458;&#x5DE5;&#x3002;&#x4E14;&#x4E92;&#x8054;&#x7F51;&#x5927;&#x73AF;&#x5883;&#x4E0D;&#x4E50;&#x89C2;&#x53C8;&#x5BFC;&#x81F4;&#x4E86;&#x62DB;&#x8058;&#x5C97;&#x4F4D;&#x6536;&#x7F29;... &#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6700;&#x597D;&#x7684;&#x9009;&#x62E9;&#x4F3C;&#x4E4E;&#x662F;&#x82DF;&#x5728;&#x9E45;&#x5382;&#xFF0C;&#x63D0;&#x9AD8;&#x81EA;&#x8EAB;&#x80FD;&#x529B;&#xFF0C;&#x9759;&#x9759;&#x7B49;&#x5F85;&#x4E92;&#x8054;&#x7F51;&#x5F62;&#x52BF;&#x597D;&#x8F6C;&#x3002;&#x7136;&#x800C;&#xFF0C;&#x9E45;&#x5382;&#x5404;&#x4E2A;BG&#x7684;&#x6BD5;&#x4E1A;&#x5178;&#x793C;&#x8F6E;&#x756A;&#x5F00;&#x542F;&#xFF0C;&#x4E5F;&#x4E3A;&#x8FD9;&#x79CD;&#x7B56;&#x7565;&#x8499;&#x4E0A;&#x4E86;&#x4E00;&#x5C42;&#x4E0D;&#x7A33;&#x5B9A;&#x56E0;&#x7D20;&#x3002;</p><p>&#x60F3;&#x8D77;&#x6765;&#x53BB;&#x5E74;&#x5F88;&#x559C;&#x6B22;&#x7684;&#x4E00;&#x90E8;&#x5F71;&#x89C6;&#x4F5C;&#x54C1;&#x300A;&#x6C99;&#x4E18;&#x300B;&#x4E2D;&#x7684;&#x4E00;&#x6BB5;&#x7ECF;&#x5178;&#x53F0;&#x8BCD;&#xFF1A;</p><!--kg-card-begin: markdown--><blockquote>
<p>&#x201C;&#x6211;&#x7EDD;&#x4E0D;&#x80FD;&#x6050;&#x60E7;&#x3002;&#x6050;&#x60E7;&#x662F;&#x601D;&#x7EF4;&#x6740;&#x624B;&#x3002;&#x6050;&#x60E7;&#x662F;&#x5E26;&#x6765;&#x5F7B;&#x5E95;&#x6BC1;&#x706D;&#x7684;&#x5C0F;&#x5C0F;&#x6B7B;&#x795E;&#x3002;&#x6211;&#x5C06;&#x6B63;&#x89C6;&#x6050;&#x60E7;&#xFF0C;&#x4EFB;&#x5B83;&#x901A;&#x8FC7;&#x6211;&#x7684;&#x8EAF;&#x4F53;&#x3002;&#x5F53;&#x6050;&#x60E7;&#x901D;&#x53BB;&#xFF0C;&#x6211;&#x4F1A;&#x6253;&#x5F00;&#x5FC3;&#x773C;&#xFF0C;&#x770B;&#x6E05;&#x5B83;&#x7684;&#x8F68;&#x8FF9;&#x3002;&#x6050;&#x60E7;&#x6240;&#x8FC7;&#x4E4B;&#x5904;&#xFF0C;&#x4E0D;&#x7559;&#x4E00;&#x7269;&#xFF0C;&#x552F;&#x6211;&#x72EC;&#x5B58;&#x3002;&#x201D;</p>
</blockquote>
<!--kg-card-end: markdown--><p>&#x4F9D;&#x7136;&#x65E0;&#x6CD5;&#x505A;&#x5230;&#x5B8C;&#x5168;&#x300C;&#x987A;&#x5176;&#x81EA;&#x7136;&#x300D;&#x6216;&#x8005;&#x8BF4;&#x300C;&#x542C;&#x5929;&#x7531;&#x547D;&#x300D;&#xFF0C;&#x6BD5;&#x7ADF;&#x8FD9;&#x53EF;&#x80FD;&#x4F1A;&#x4E00;&#x5B9A;&#x7A0B;&#x5EA6;&#x4E0A;&#x5F71;&#x54CD;&#x540E;&#x7EED;&#x7684;&#x53D1;&#x5C55;&#x65B9;&#x5411;&#x751A;&#x81F3;&#x4EBA;&#x751F;&#x8F68;&#x8FF9;&#x3002;<em>&#x65F6;&#x4EE3;&#x7684;&#x4E00;&#x7C92;&#x7070;</em>&#xFF0C;<em>&#x843D;&#x5728;&#x4E2A;&#x4EBA;&#x5934;&#x4E0A;&#x5C31;&#x662F;&#x4E00;&#x5EA7;&#x5C71;</em>&#x3002;&#x65E2;&#x7136;&#x4E0D;&#x80FD;&#x5B8C;&#x5168;&#x653E;&#x4E0B;&#x300C;&#x6050;&#x60E7;&#x300D;&#xFF0C;&#x90A3;&#x5C31;&#x5E26;&#x7740;&#x8FD9;&#x4EFD;&#x300C;&#x6050;&#x60E7;&#x300D;&#x7EE7;&#x7EED;&#x524D;&#x884C;&#x5427;&#x3002;</p>]]></content:encoded></item><item><title><![CDATA[[剑指Offer] Day 08]]></title><description><![CDATA[<h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-10i-%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97">&#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/">&#x5251;&#x6307; Offer 10- I. &#x6590;&#x6CE2;&#x90A3;&#x5951;&#x6570;&#x5217;</a></h4><p>&#x5199;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x8F93;&#x5165; n &#xFF0C;&#x6C42;&#x6590;&#x6CE2;&#x90A3;&#x5951;&#xFF08;Fibonacci&#xFF09;&#x6570;&#x5217;&#x7684;&#x7B2C; n &#x9879;&#xFF08;&#x5373; F(N)&#xFF09;&#x3002;&#x6590;&#x6CE2;&#x90A3;&#x5951;</p>]]></description><link>https://jaimeding.cool:443/jian-zhi-offer-day-08/</link><guid isPermaLink="false">625ba57b612365000116ced4</guid><category><![CDATA[剑指Offer]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Sat, 16 Apr 2022 05:40:00 GMT</pubDate><content:encoded><![CDATA[<h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-10i-%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0%E5%88%97">&#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/">&#x5251;&#x6307; Offer 10- I. &#x6590;&#x6CE2;&#x90A3;&#x5951;&#x6570;&#x5217;</a></h4><p>&#x5199;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x8F93;&#x5165; n &#xFF0C;&#x6C42;&#x6590;&#x6CE2;&#x90A3;&#x5951;&#xFF08;Fibonacci&#xFF09;&#x6570;&#x5217;&#x7684;&#x7B2C; n &#x9879;&#xFF08;&#x5373; F(N)&#xFF09;&#x3002;&#x6590;&#x6CE2;&#x90A3;&#x5951;&#x6570;&#x5217;&#x7684;&#x5B9A;&#x4E49;&#x5982;&#x4E0B;&#xFF1A;</p><p>F(0) = 0, &#xA0; F(1) = 1<br>F(N) = F(N - 1) + F(N - 2), &#x5176;&#x4E2D; N &gt; 1.<br>&#x6590;&#x6CE2;&#x90A3;&#x5951;&#x6570;&#x5217;&#x7531; 0 &#x548C; 1 &#x5F00;&#x59CB;&#xFF0C;&#x4E4B;&#x540E;&#x7684;&#x6590;&#x6CE2;&#x90A3;&#x5951;&#x6570;&#x5C31;&#x662F;&#x7531;&#x4E4B;&#x524D;&#x7684;&#x4E24;&#x6570;&#x76F8;&#x52A0;&#x800C;&#x5F97;&#x51FA;&#x3002;</p><p>&#x7B54;&#x6848;&#x9700;&#x8981;&#x53D6;&#x6A21; 1e9+7&#xFF08;1000000007&#xFF09;&#xFF0C;&#x5982;&#x8BA1;&#x7B97;&#x521D;&#x59CB;&#x7ED3;&#x679C;&#x4E3A;&#xFF1A;1000000008&#xFF0C;&#x8BF7;&#x8FD4;&#x56DE; 1</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x52A8;&#x6001;&#x89C4;&#x5212;+&#x6EDA;&#x52A8;&#x7A97;&#x53E3;&#x3002;</p><p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>O(N)</p><p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>O(1)</p><pre><code class="language-java">class Solution {
    public int fib(int n) {
        int p = 0;
        int q = 1;
        int ans = 0;
        final int MOD = 1000000007;
        if (n &lt; 2) return n;
        while (n &gt; 1) {
            ans = (p + q)% MOD;
            p = q;
            q = ans;
            n--;
        }
        return ans;

    }
}</code></pre><p></p><h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-10ii-%E9%9D%92%E8%9B%99%E8%B7%B3%E5%8F%B0%E9%98%B6%E9%97%AE%E9%A2%98">&#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof/">&#x5251;&#x6307; Offer 10- II. &#x9752;&#x86D9;&#x8DF3;&#x53F0;&#x9636;&#x95EE;&#x9898;</a></h4><p>&#x4E00;&#x53EA;&#x9752;&#x86D9;&#x4E00;&#x6B21;&#x53EF;&#x4EE5;&#x8DF3;&#x4E0A;1&#x7EA7;&#x53F0;&#x9636;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x8DF3;&#x4E0A;2&#x7EA7;&#x53F0;&#x9636;&#x3002;&#x6C42;&#x8BE5;&#x9752;&#x86D9;&#x8DF3;&#x4E0A;&#x4E00;&#x4E2A; n &#x7EA7;&#x7684;&#x53F0;&#x9636;&#x603B;&#x5171;&#x6709;&#x591A;&#x5C11;&#x79CD;&#x8DF3;&#x6CD5;&#x3002;</p><p>&#x7B54;&#x6848;&#x9700;&#x8981;&#x53D6;&#x6A21; 1e9+7&#xFF08;1000000007&#xFF09;&#xFF0C;&#x5982;&#x8BA1;&#x7B97;&#x521D;&#x59CB;&#x7ED3;&#x679C;&#x4E3A;&#xFF1A;1000000008&#xFF0C;&#x8BF7;&#x8FD4;&#x56DE; 1&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x601D;&#x8DEF;&#x540C;&#x4E0A;&#x4E00;&#x9898;&#xFF0C;&#x52A8;&#x6001;&#x89C4;&#x5212;+&#x6EDA;&#x52A8;&#x7A97;&#x53E3;&#x3002;</p><p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>O(N)</p><p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>O(1)</p><pre><code class="language-java">class Solution {
    public int numWays(int n) {
        final int MOD = 1000000007;
        if (n == 0) return 1;
        if (n &lt; 3) return n;
        int p = 1;
        int q = 2;
        int ans = 0;
        while (n &gt; 2) {
            ans = (p + q) % MOD;
            p = q;
            q = ans;
            n--;
        }
        return ans;
    }
}</code></pre><p></p><h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-63-%E8%82%A1%E7%A5%A8%E7%9A%84%E6%9C%80%E5%A4%A7%E5%88%A9%E6%B6%A6">&#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/gu-piao-de-zui-da-li-run-lcof/">&#x5251;&#x6307; Offer 63. &#x80A1;&#x7968;&#x7684;&#x6700;&#x5927;&#x5229;&#x6DA6;</a></h4><p>&#x5047;&#x8BBE;&#x628A;&#x67D0;&#x80A1;&#x7968;&#x7684;&#x4EF7;&#x683C;&#x6309;&#x7167;&#x65F6;&#x95F4;&#x5148;&#x540E;&#x987A;&#x5E8F;&#x5B58;&#x50A8;&#x5728;&#x6570;&#x7EC4;&#x4E2D;&#xFF0C;&#x8BF7;&#x95EE;&#x4E70;&#x5356;&#x8BE5;&#x80A1;&#x7968;&#x4E00;&#x6B21;&#x53EF;&#x80FD;&#x83B7;&#x5F97;&#x7684;&#x6700;&#x5927;&#x5229;&#x6DA6;&#x662F;&#x591A;&#x5C11;&#xFF1F;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x7EF4;&#x62A4;&#x4E00;&#x4E2A;&#x6700;&#x4F4E;&#x4EF7;&#x683C;&#xFF0C;&#x7EF4;&#x62A4;&#x4E00;&#x4E2A;&#x6700;&#x5927;&#x83B7;&#x5229;&#x503C;&#x3002;&#x904D;&#x5386;&#x6574;&#x4E2A;&#x6570;&#x7EC4;&#xFF0C;&#x82E5;&#x4EF7;&#x683C;&#x9AD8;&#x4E8E;&#x6700;&#x5C0F;&#x503C;&#xFF0C;&#x5219;&#x5224;&#x65AD;&#x83B7;&#x5229;&#x662F;&#x5426;&#x5927;&#x4E8E;&#x4E4B;&#x524D;&#x7684;&#x6700;&#x5927;&#x83B7;&#x5229;&#xFF1B;&#x82E5;&#x5F53;&#x524D;&#x4EF7;&#x683C;&#x5C0F;&#x4E8E;&#x4E4B;&#x524D;&#x7EF4;&#x62A4;&#x7684;&#x6700;&#x5C0F;&#x4EF7;&#x683C;&#xFF0C;&#x5219;&#x66F4;&#x65B0;&#x6700;&#x5C0F;&#x4EF7;&#x683C;&#x3002;&#x6700;&#x540E;&#x8FD4;&#x56DE;&#x6700;&#x5927;&#x83B7;&#x5229;&#x3002;</p><p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>O(N)</p><p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>O(1)</p><pre><code class="language-java">class Solution {
    public int maxProfit(int[] prices) {
        if (prices == null || prices.length == 0 ) return 0;
        int min = prices[0];
        int profit = 0;
        for (int price : prices) {
            if (price &gt; min){
                profit = Math.max(profit, price - min);
            } else {
                min = price;
            }
        }
        return profit;

    }
}</code></pre>]]></content:encoded></item><item><title><![CDATA[[剑指Offer] Day 07]]></title><description><![CDATA[<h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-26-%E6%A0%91%E7%9A%84%E5%AD%90%E7%BB%93%E6%9E%84">&#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcof/">&#x5251;&#x6307; Offer 26. &#x6811;&#x7684;&#x5B50;&#x7ED3;&#x6784;</a></h4><p>&#x8F93;&#x5165;&#x4E24;&#x68F5;&#x4E8C;&#x53C9;&#x6811;A&#x548C;B&#xFF0C;&#x5224;&#x65AD;B&#x662F;&#x4E0D;&#x662F;A&#x7684;&#x5B50;&#x7ED3;&#x6784;&#x3002;(&#x7EA6;&#x5B9A;&#x7A7A;&#x6811;&#x4E0D;&#x662F;&#x4EFB;&#x610F;&#x4E00;&#x4E2A;&#x6811;&#x7684;&#x5B50;</p>]]></description><link>https://jaimeding.cool:443/jian-zhi-offer-day-07/</link><guid isPermaLink="false">625b9f75612365000116ce91</guid><category><![CDATA[剑指Offer]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Fri, 15 Apr 2022 05:25:00 GMT</pubDate><content:encoded><![CDATA[<h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-26-%E6%A0%91%E7%9A%84%E5%AD%90%E7%BB%93%E6%9E%84">&#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/shu-de-zi-jie-gou-lcof/">&#x5251;&#x6307; Offer 26. &#x6811;&#x7684;&#x5B50;&#x7ED3;&#x6784;</a></h4><p>&#x8F93;&#x5165;&#x4E24;&#x68F5;&#x4E8C;&#x53C9;&#x6811;A&#x548C;B&#xFF0C;&#x5224;&#x65AD;B&#x662F;&#x4E0D;&#x662F;A&#x7684;&#x5B50;&#x7ED3;&#x6784;&#x3002;(&#x7EA6;&#x5B9A;&#x7A7A;&#x6811;&#x4E0D;&#x662F;&#x4EFB;&#x610F;&#x4E00;&#x4E2A;&#x6811;&#x7684;&#x5B50;&#x7ED3;&#x6784;)</p><p>B&#x662F;A&#x7684;&#x5B50;&#x7ED3;&#x6784;&#xFF0C; &#x5373; A&#x4E2D;&#x6709;&#x51FA;&#x73B0;&#x548C;B&#x76F8;&#x540C;&#x7684;&#x7ED3;&#x6784;&#x548C;&#x8282;&#x70B9;&#x503C;&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x5982;&#x679C;&#x6811;A&#x6216;&#x6811;B&#x4E3A;&#x7A7A;&#x5219;&#x4E0D;&#x6EE1;&#x8DB3;&#xFF0C;&#x76F4;&#x63A5;&#x8FD4;&#x56DE;&#x3002;&#x5426;&#x5219;&#x5224;&#x65AD;B&#x662F;&#x5426;&#x4E3A;A&#x8282;&#x70B9;&#x7684;&#x5B50;&#x7ED3;&#x6784;&#xFF0C;&#x6216;A&#x7684;&#x5DE6;&#xFF08;&#x53F3;&#xFF09;&#x5B50;&#x6811;&#x7684;&#x5B50;&#x7ED3;&#x6784;&#x3002;&#x5728;&#x9012;&#x5F52;&#x51FD;&#x6570;&#x4E2D;&#x8FDB;&#x884C;&#x5224;&#x65AD;&#xFF1A;&#x5982;&#x679C;B&#x8282;&#x70B9;&#x4E3A;&#x7A7A;&#xFF0C;&#x8868;&#x660E;&#x5DF2;&#x7ECF;&#x5339;&#x914D;&#x5B8C;&#x6210;&#xFF0C;&#x8FD4;&#x56DE;true&#xFF1B;&#x5982;&#x679C;B&#x4E0D;&#x4E3A;&#x7A7A;&#xFF0C;&#x800C;A&#x4E3A;&#x7A7A;&#xFF0C;&#x6216;A&#x3001;B&#x8282;&#x70B9;&#x7684;&#x503C;&#x4E0D;&#x76F8;&#x540C;&#xFF0C;&#x5219;&#x5339;&#x914D;&#x5931;&#x8D25;&#xFF0C;&#x8FD4;&#x56DE;false&#xFF1B;&#x5982;&#x679C;A&#x3001;B&#x7684;&#x503C;&#x76F8;&#x540C;&#x5219;&#x7EE7;&#x7EED;&#x6BD4;&#x8F83;A&#x3001;B&#x7684;&#x5DE6;&#x53F3;&#x5B50;&#x6811;&#x3002;</p><p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>O(N)</p><p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>O(1)</p><pre><code class="language-java">class Solution {
    public boolean isSubStructure(TreeNode A, TreeNode B) {
        return (A != null &amp;&amp; B != null) &amp;&amp; (recur(A, B) || 
        isSubStructure(A.left, B) || isSubStructure(A.right, B));

    }

    boolean recur(TreeNode A, TreeNode B) {
        if (B == null) return true;
        if (A == null || A.val != B.val) return false;
        return recur(A.left, B.left) &amp;&amp; recur(A.right, B.right);

    }
}</code></pre><h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-27-%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E9%95%9C%E5%83%8F">&#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/er-cha-shu-de-jing-xiang-lcof/">&#x5251;&#x6307; Offer 27. &#x4E8C;&#x53C9;&#x6811;&#x7684;&#x955C;&#x50CF;</a></h4><p>&#x8BF7;&#x5B8C;&#x6210;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x8F93;&#x5165;&#x4E00;&#x4E2A;&#x4E8C;&#x53C9;&#x6811;&#xFF0C;&#x8BE5;&#x51FD;&#x6570;&#x8F93;&#x51FA;&#x5B83;&#x7684;&#x955C;&#x50CF;&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x5BF9;&#x6811;&#x7684;&#x6839;&#x8282;&#x70B9;&#x8C03;&#x7528;&#x9012;&#x5F52;&#x51FD;&#x6570;&#x3002;&#x9012;&#x5F52;&#x51FD;&#x6570;&#x4E2D;&#x6267;&#x884C;&#xFF1A;&#x82E5;&#x8282;&#x70B9;&#x4E3A;&#x7A7A;&#x76F4;&#x63A5;&#x8FD4;&#x56DE;&#xFF1B;&#x5426;&#x5219;&#x4EA4;&#x6362;&#x8BE5;&#x8282;&#x70B9;&#x7684;&#x5DE6;&#x53F3;&#x5B50;&#x6811;&#xFF0C;&#x5E76;&#x5206;&#x522B;&#x5BF9;&#x5176;&#x8C03;&#x7528;&#x9012;&#x5F52;&#x51FD;&#x6570;&#xFF0C;&#x6700;&#x540E;&#x8FD4;&#x56DE;&#x8282;&#x70B9;&#x672C;&#x8EAB;&#x3002;</p><p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>O(N)</p><p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>O(1)</p><pre><code class="language-Java"> 
class Solution {
    public TreeNode mirrorTree(TreeNode root) {
        return recur(root);

    }

    TreeNode recur(TreeNode root) {
        if (root == null) return null;
        TreeNode tmpNode = root.left;
        root.left = recur(root.right);
        root.right = recur(tmpNode);
        return root;
    }
}</code></pre><h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-28-%E5%AF%B9%E7%A7%B0%E7%9A%84%E4%BA%8C%E5%8F%89%E6%A0%91">&#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/dui-cheng-de-er-cha-shu-lcof/">&#x5251;&#x6307; Offer 28. &#x5BF9;&#x79F0;&#x7684;&#x4E8C;&#x53C9;&#x6811;</a></h4><p>&#x8BF7;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x7528;&#x6765;&#x5224;&#x65AD;&#x4E00;&#x68F5;&#x4E8C;&#x53C9;&#x6811;&#x662F;&#x4E0D;&#x662F;&#x5BF9;&#x79F0;&#x7684;&#x3002;&#x5982;&#x679C;&#x4E00;&#x68F5;&#x4E8C;&#x53C9;&#x6811;&#x548C;&#x5B83;&#x7684;&#x955C;&#x50CF;&#x4E00;&#x6837;&#xFF0C;&#x90A3;&#x4E48;&#x5B83;&#x662F;&#x5BF9;&#x79F0;&#x7684;&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x5982;&#x679C;&#x6839;&#x8282;&#x70B9;&#x4E3A;&#x7A7A;&#x5219;&#x6EE1;&#x8DB3;&#xFF0C;&#x76F4;&#x63A5;&#x8FD4;&#x56DE;&#xFF0C;&#x5426;&#x5219;&#x5C06;&#x5176;&#x5DE6;&#x53F3;&#x5B50;&#x6811;&#x4F20;&#x5165;&#x9012;&#x5F52;&#x51FD;&#x6570;&#x3002;</p><p>&#x9012;&#x5F52;&#x51FD;&#x6570;&#x6267;&#x884C;&#x8FC7;&#x7A0B;&#x5982;&#x4E0B;&#xFF1A;&#x5982;&#x679C;&#x4F20;&#x5165;&#x7684;&#x4E24;&#x4E2A;&#x8282;&#x70B9;&#x90FD;&#x4E3A;&#x7A7A;&#xFF0C;&#x5219;&#x5224;&#x65AD;&#x7ED3;&#x675F;&#xFF0C;&#x6761;&#x4EF6;&#x6EE1;&#x8DB3;&#xFF1B;&#x82E5;&#x6709;&#x4E00;&#x4E2A;&#x4E0D;&#x4E3A;&#x7A7A;&#x6216;&#x8005;&#x4E24;&#x4E2A;&#x8282;&#x70B9;&#x7684;&#x503C;&#x4E0D;&#x76F8;&#x540C;&#xFF0C;&#x5219;&#x5224;&#x65AD;&#x7ED3;&#x675F;&#xFF0C;&#x6761;&#x4EF6;&#x4E0D;&#x6EE1;&#x8DB3;&#xFF1B;&#x5982;&#x679C;&#x4E24;&#x4E2A;&#x8282;&#x70B9;&#x7684;&#x503C;&#x76F8;&#x540C;&#xFF0C;&#x5219;&#x7EE7;&#x7EED;&#x9012;&#x5F52;&#x8C03;&#x7528;&#xFF0C;&#x5206;&#x522B;&#x6BD4;&#x8F83;&#x5DE6;&#x5DE6;&#x4E0E;&#x53F3;&#x53F3;&#x3001;&#x5DE6;&#x53F3;&#x4E0E;&#x53F3;&#x5DE6;&#x662F;&#x5426;&#x6EE1;&#x8DB3;&#x3002;</p><p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>O(N)</p><p><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong></strong>O(1)</p><pre><code class="language-java">class Solution {
    public boolean isSymmetric(TreeNode root) {
        return (root == null) || (recur(root.left, root.right));

    }

    boolean recur(TreeNode left, TreeNode right) {
        if (left == null &amp;&amp; right == null) return true;
        if (left == null || right == null || left.val != right.val) return false;
        return recur(left.left, right.right) &amp;&amp; recur(left.right, right.left);
    }
}</code></pre>]]></content:encoded></item><item><title><![CDATA[[剑指Offer] Day 06]]></title><description><![CDATA[<h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-32i-%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91">&#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof/">&#x5251;&#x6307; Offer 32 - I. &#x4ECE;&#x4E0A;&#x5230;&#x4E0B;&#x6253;&#x5370;&#x4E8C;&#x53C9;&#x6811;</a></h4><p>&#x4ECE;&#x4E0A;&#x5230;&#x4E0B;&#x6253;&#x5370;&#x51FA;&#x4E8C;&#x53C9;&#x6811;&#x7684;&#x6BCF;&#x4E2A;&#x8282;&#x70B9;&#xFF0C;&#x540C;&#x4E00;&#x5C42;&#x7684;&#x8282;&#x70B9;&#x6309;&#x7167;&#x4ECE;&#x5DE6;&#x5230;&#x53F3;&#x7684;&#x987A;</p>]]></description><link>https://jaimeding.cool:443/jian-zhi-offer-day-06/</link><guid isPermaLink="false">625aae00612365000116ce4e</guid><category><![CDATA[剑指Offer]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Thu, 14 Apr 2022 12:06:00 GMT</pubDate><content:encoded><![CDATA[<h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-32i-%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91">&#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-lcof/">&#x5251;&#x6307; Offer 32 - I. &#x4ECE;&#x4E0A;&#x5230;&#x4E0B;&#x6253;&#x5370;&#x4E8C;&#x53C9;&#x6811;</a></h4><p>&#x4ECE;&#x4E0A;&#x5230;&#x4E0B;&#x6253;&#x5370;&#x51FA;&#x4E8C;&#x53C9;&#x6811;&#x7684;&#x6BCF;&#x4E2A;&#x8282;&#x70B9;&#xFF0C;&#x540C;&#x4E00;&#x5C42;&#x7684;&#x8282;&#x70B9;&#x6309;&#x7167;&#x4ECE;&#x5DE6;&#x5230;&#x53F3;&#x7684;&#x987A;&#x5E8F;&#x6253;&#x5370;&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x5E7F;&#x5EA6;&#x4F18;&#x5148;&#x904D;&#x5386;&#x4E8C;&#x53C9;&#x6811;&#x3002;&#x82E5;&#x6839;&#x8282;&#x70B9;&#x975E;&#x7A7A;&#xFF0C;&#x5219;&#x5C06;&#x5176;&#x538B;&#x5165;&#x961F;&#x5217;&#x3002;&#x5F53;&#x961F;&#x5217;&#x975E;&#x7A7A;&#x65F6;&#xFF0C;&#x4ECE;&#x961F;&#x5217;&#x4E2D;&#x53D6;&#x51FA;&#x4E00;&#x4E2A;&#x8282;&#x70B9;&#xFF0C;&#x5C06;&#x503C;&#x52A0;&#x5165;&#x53EF;&#x53D8;&#x5217;&#x8868;&#x3002;&#x4F9D;&#x6B21;&#x5C06;&#x5176;&#x5DE6;&#x53F3;&#x5B50;&#x6811;&#xFF08;&#x975E;&#x7A7A;&#xFF09;&#x538B;&#x5165;&#x961F;&#x5217;&#x3002;&#x4ECE;&#x53EF;&#x53D8;&#x5217;&#x8868;&#x4E2D;&#x53D6;&#x51FA;&#x503C;&#xFF0C;&#x4F9D;&#x6B21;&#x653E;&#x5165;&#x6570;&#x7EC4;&#xFF0C;&#x8FD4;&#x56DE;&#x7ED3;&#x679C;&#x6570;&#x7EC4;&#x3002;</p><p><strong><strong><strong><strong><strong><strong><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong>O(N)</p><p><strong><strong><strong><strong><strong><strong><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong>O(N)</p><pre><code class="language-kotlin">class Solution {
    fun levelOrder(root: TreeNode?): IntArray {
        if (root == null) return intArrayOf()
        val queue = LinkedList&lt;TreeNode&gt;()
        val arr = mutableListOf&lt;Int&gt;()
        queue.offer(root)
        while (queue.isNotEmpty()) {
            val node = queue.poll()
            arr.add(node.`val`)
            node.left?.let {
                queue.offer(node.left)
            }
            node.right?.let {
                queue.offer(node.right)
            }
        }

        val res = IntArray(arr.size)
        arr.forEachIndexed { index, i -&gt;
            res[index] = i
        }
        return res

    }
}</code></pre><p></p><h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-32ii-%E4%BB%8E%E4%B8%8A%E5%88%B0%E4%B8%8B%E6%89%93%E5%8D%B0%E4%BA%8C%E5%8F%89%E6%A0%91-ii">&#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/cong-shang-dao-xia-da-yin-er-cha-shu-ii-lcof/">&#x5251;&#x6307; Offer 32 - II. &#x4ECE;&#x4E0A;&#x5230;&#x4E0B;&#x6253;&#x5370;&#x4E8C;&#x53C9;&#x6811; II</a></h4><p>&#x4ECE;&#x4E0A;&#x5230;&#x4E0B;&#x6309;&#x5C42;&#x6253;&#x5370;&#x4E8C;&#x53C9;&#x6811;&#xFF0C;&#x540C;&#x4E00;&#x5C42;&#x7684;&#x8282;&#x70B9;&#x6309;&#x4ECE;&#x5DE6;&#x5230;&#x53F3;&#x7684;&#x987A;&#x5E8F;&#x6253;&#x5370;&#xFF0C;&#x6BCF;&#x4E00;&#x5C42;&#x6253;&#x5370;&#x5230;&#x4E00;&#x884C;&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x4E0E;&#x4E0A;&#x4E00;&#x9898;&#x601D;&#x8DEF;&#x7C7B;&#x4F3C;&#xFF0C;&#x8FD9;&#x9898;&#x590D;&#x6742;&#x4E4B;&#x5904;&#x5728;&#x4E8E;&#x9700;&#x8981;&#x5C06;&#x4E8C;&#x53C9;&#x6811;&#x5206;&#x5C42;&#x8F93;&#x5165;&#x5230;&#x4E0D;&#x540C;&#x7684;&#x5B57;&#x6570;&#x7EC4;&#x4E2D;&#x3002;&#x501F;&#x9274;@Krahets&#x7684;&#x601D;&#x8DEF;&#xFF0C;&#x4F7F;&#x7528;&#x961F;&#x5217;&#x7684;size&#x6765;&#x5224;&#x65AD;&#x5F53;&#x524D;&#x5C42;&#x904D;&#x5386;&#x662F;&#x5426;&#x7ED3;&#x675F;&#x3002;</p><p><strong><strong><strong><strong><strong><strong><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong>O(N)</p><p><strong><strong><strong><strong><strong><strong><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong></strong></strong></strong></strong>O(N)</p><pre><code class="language-Kotlin">class Solution {
    fun levelOrder(root: TreeNode?): List&lt;List&lt;Int&gt;&gt; {
        val queue = LinkedList&lt;TreeNode&gt;()
        val res = ArrayList&lt;ArrayList&lt;Int&gt;&gt;()
        if (root != null) queue.offer(root) 
        while (queue.isNotEmpty()) {
            val tmp = ArrayList&lt;Int&gt;()
            for (i in 0 until queue.size) {
                val node = queue.poll()
                tmp.add(node.`val`)
                node.left?.let {
                    queue.offer(it)
                }
                node.right?.let {
                    queue.offer(it)
                }
            }
            res.add(tmp)
        }
        return res   

    }
}</code></pre>]]></content:encoded></item><item><title><![CDATA[[剑指Offer] Day 05]]></title><description><![CDATA[<h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-04-%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9F%A5%E6%89%BE"> &#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/">&#x5251;&#x6307; Offer 04. &#x4E8C;&#x7EF4;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x67E5;&#x627E;</a></h4><p>&#x5728;&#x4E00;&#x4E2A; n * m &#x7684;&#x4E8C;&#x7EF4;&#x6570;&#x7EC4;&#x4E2D;&#xFF0C;&#x6BCF;&#x4E00;&#x884C;&#x90FD;&#x6309;&#x7167;&#x4ECE;&#x5DE6;&#x5230;&#x53F3;&#x9012;&#x589E;&#x7684;&#x987A;&#x5E8F;&#x6392;&#x5E8F;&#xFF0C;&#x6BCF;&#x4E00;&#x5217;</p>]]></description><link>https://jaimeding.cool:443/jian-zhi-offer-day-04-2/</link><guid isPermaLink="false">625aa85e612365000116cdfb</guid><category><![CDATA[剑指Offer]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Wed, 13 Apr 2022 15:46:00 GMT</pubDate><content:encoded><![CDATA[<h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-04-%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9A%84%E6%9F%A5%E6%89%BE"> &#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/">&#x5251;&#x6307; Offer 04. &#x4E8C;&#x7EF4;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x67E5;&#x627E;</a></h4><p>&#x5728;&#x4E00;&#x4E2A; n * m &#x7684;&#x4E8C;&#x7EF4;&#x6570;&#x7EC4;&#x4E2D;&#xFF0C;&#x6BCF;&#x4E00;&#x884C;&#x90FD;&#x6309;&#x7167;&#x4ECE;&#x5DE6;&#x5230;&#x53F3;&#x9012;&#x589E;&#x7684;&#x987A;&#x5E8F;&#x6392;&#x5E8F;&#xFF0C;&#x6BCF;&#x4E00;&#x5217;&#x90FD;&#x6309;&#x7167;&#x4ECE;&#x4E0A;&#x5230;&#x4E0B;&#x9012;&#x589E;&#x7684;&#x987A;&#x5E8F;&#x6392;&#x5E8F;&#x3002;&#x8BF7;&#x5B8C;&#x6210;&#x4E00;&#x4E2A;&#x9AD8;&#x6548;&#x7684;&#x51FD;&#x6570;&#xFF0C;&#x8F93;&#x5165;&#x8FD9;&#x6837;&#x7684;&#x4E00;&#x4E2A;&#x4E8C;&#x7EF4;&#x6570;&#x7EC4;&#x548C;&#x4E00;&#x4E2A;&#x6574;&#x6570;&#xFF0C;&#x5224;&#x65AD;&#x6570;&#x7EC4;&#x4E2D;&#x662F;&#x5426;&#x542B;&#x6709;&#x8BE5;&#x6574;&#x6570;&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x4ECE;&#x4E8C;&#x7EF4;&#x6570;&#x7EC4;&#x7684;&#x5DE6;&#x4E0A;&#x89D2;&#x6216;&#x8005;&#x53F3;&#x4E0B;&#x89D2;&#x5F00;&#x59CB;&#x904D;&#x5386;&#x3002;&#x82E5;&#x67E5;&#x627E;&#x76EE;&#x6807;&#x5C0F;&#x4E8E;&#x5F53;&#x524D;&#x4F4D;&#x7F6E;&#x7684;&#x503C;&#xFF0C;&#x5219;&#x5411;&#x4E0A;&#x8D70;&#xFF1B;&#x53CD;&#x4E4B;&#x5411;&#x53F3;&#x4FA7;&#x8D70;&#xFF0C;&#x76F4;&#x81F3;&#x627E;&#x5230;&#x76EE;&#x6807;&#x503C;&#x540E;&#x8FD4;&#x56DE;true&#x3002;&#x82E5;&#x904D;&#x5386;&#x5230;&#x6570;&#x7EC4;&#x8FB9;&#x754C;&#x4ECD;&#x7136;&#x672A;&#x627E;&#x5230;&#xFF0C;&#x5219;&#x8FD4;&#x56DE;false&#x3002;</p><p><strong><strong><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong>O(N)</p><p><strong><strong><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong>O(1)</p><pre><code class="language-kotlin">class Solution {
    fun findNumberIn2DArray(matrix: Array&lt;IntArray&gt;, target: Int): Boolean {
        var row = matrix.size - 1
        var col = 0
        while (row &gt;= 0 &amp;&amp; col &lt; matrix[0].size) {
            if (matrix[row][col] == target) {
                return true
            } else if (matrix[row][col] &lt; target) {
                col++
            } else {
                row--
            }
        }
        return false
    }

}</code></pre><h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-11-%E6%97%8B%E8%BD%AC%E6%95%B0%E7%BB%84%E7%9A%84%E6%9C%80%E5%B0%8F%E6%95%B0%E5%AD%97"> &#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof/">&#x5251;&#x6307; Offer 11. &#x65CB;&#x8F6C;&#x6570;&#x7EC4;&#x7684;&#x6700;&#x5C0F;&#x6570;&#x5B57;</a></h4><p>&#x628A;&#x4E00;&#x4E2A;&#x6570;&#x7EC4;&#x6700;&#x5F00;&#x59CB;&#x7684;&#x82E5;&#x5E72;&#x4E2A;&#x5143;&#x7D20;&#x642C;&#x5230;&#x6570;&#x7EC4;&#x7684;&#x672B;&#x5C3E;&#xFF0C;&#x6211;&#x4EEC;&#x79F0;&#x4E4B;&#x4E3A;&#x6570;&#x7EC4;&#x7684;&#x65CB;&#x8F6C;&#x3002;</p><p>&#x7ED9;&#x4F60;&#x4E00;&#x4E2A;&#x53EF;&#x80FD;&#x5B58;&#x5728; &#x91CD;&#x590D; &#x5143;&#x7D20;&#x503C;&#x7684;&#x6570;&#x7EC4; numbers &#xFF0C;&#x5B83;&#x539F;&#x6765;&#x662F;&#x4E00;&#x4E2A;&#x5347;&#x5E8F;&#x6392;&#x5217;&#x7684;&#x6570;&#x7EC4;&#xFF0C;&#x5E76;&#x6309;&#x4E0A;&#x8FF0;&#x60C5;&#x5F62;&#x8FDB;&#x884C;&#x4E86;&#x4E00;&#x6B21;&#x65CB;&#x8F6C;&#x3002;&#x8BF7;&#x8FD4;&#x56DE;&#x65CB;&#x8F6C;&#x6570;&#x7EC4;&#x7684;&#x6700;&#x5C0F;&#x5143;&#x7D20;&#x3002;&#x4F8B;&#x5982;&#xFF0C;&#x6570;&#x7EC4; [3,4,5,1,2] &#x4E3A; [1,2,3,4,5] &#x7684;&#x4E00;&#x6B21;&#x65CB;&#x8F6C;&#xFF0C;&#x8BE5;&#x6570;&#x7EC4;&#x7684;&#x6700;&#x5C0F;&#x503C;&#x4E3A; 1&#x3002;</p><p>&#x6CE8;&#x610F;&#xFF0C;&#x6570;&#x7EC4; [a[0], a[1], a[2], ..., a[n-1]] &#x65CB;&#x8F6C;&#x4E00;&#x6B21; &#x7684;&#x7ED3;&#x679C;&#x4E3A;&#x6570;&#x7EC4; [a[n-1], a[0], a[1], a[2], ..., a[n-2]] &#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x4ECE;&#x524D;&#x5F80;&#x540E;&#x904D;&#x5386;&#xFF0C;&#x627E;&#x5230;&#x7B2C;&#x4E00;&#x4E2A;&#x6BD4;&#x524D;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#x5C0F;&#x7684;&#x503C;&#xFF0C;&#x5373;&#x4E3A;&#x6700;&#x5C0F;&#x503C;&#x3002;</p><p><strong><strong><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong>O(N)</p><p><strong><strong><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong>O(1)</p><pre><code class="language-kotlin">class Solution {
    fun minArray(numbers: IntArray): Int {
        var res = 0
        var cur = numbers[0]
        for (pos in 0 until numbers.size) {
            if (numbers[pos] &lt; cur) {
                return numbers[pos]
            } 
            cur = numbers[pos]
        }
        return numbers[0]
    }
}</code></pre><p></p><h4 id="%E9%A2%98%E7%9B%AE%E6%9D%A5%E6%BA%90%EF%BC%9A%E5%89%91%E6%8C%87-offer-50-%E7%AC%AC%E4%B8%80%E4%B8%AA%E5%8F%AA%E5%87%BA%E7%8E%B0%E4%B8%80%E6%AC%A1%E7%9A%84%E5%AD%97%E7%AC%A6"> &#x9898;&#x76EE;&#x6765;&#x6E90;&#xFF1A;<a href="https://leetcode-cn.com/problems/di-yi-ge-zhi-chu-xian-yi-ci-de-zi-fu-lcof/">&#x5251;&#x6307; Offer 50. &#x7B2C;&#x4E00;&#x4E2A;&#x53EA;&#x51FA;&#x73B0;&#x4E00;&#x6B21;&#x7684;&#x5B57;&#x7B26;</a></h4><p>&#x5728;&#x5B57;&#x7B26;&#x4E32; s &#x4E2D;&#x627E;&#x51FA;&#x7B2C;&#x4E00;&#x4E2A;&#x53EA;&#x51FA;&#x73B0;&#x4E00;&#x6B21;&#x7684;&#x5B57;&#x7B26;&#x3002;&#x5982;&#x679C;&#x6CA1;&#x6709;&#xFF0C;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x5355;&#x7A7A;&#x683C;&#x3002; s &#x53EA;&#x5305;&#x542B;&#x5C0F;&#x5199;&#x5B57;&#x6BCD;&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x957F;&#x5EA6;&#x4E3A;26&#x7684;&#x6570;&#x7EC4;&#xFF0C;&#x7528;&#x4E8E;&#x5B58;&#x653E;&#x6BCF;&#x4E2A;&#x5B57;&#x6BCD;&#x51FA;&#x73B0;&#x7684;&#x9891;&#x7387;&#x3002;&#x904D;&#x5386;&#x4E00;&#x904D;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x6BCF;&#x9047;&#x5230;&#x4E00;&#x4E2A;&#x5B57;&#x6BCD;&#x5373;&#x5C06;&#x6570;&#x7EC4;&#x7684;&#x5BF9;&#x5E94;&#x4F4D;&#x7F6E;&#x7684;&#x503C;&#x81EA;&#x589E;&#x3002;&#x518D;&#x6B21;&#x904D;&#x5386;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x4ECE;&#x6570;&#x7EC4;&#x4E2D;&#x627E;&#x5BF9;&#x5E94;&#x5B57;&#x6BCD;&#x7684;&#x51FA;&#x73B0;&#x9891;&#x7387;&#x3002;&#x627E;&#x5230;&#x9891;&#x7387;&#x4E3A;1&#x7684;&#x5B57;&#x6BCD;&#x5373;&#x8FD4;&#x56DE;&#x3002;&#x82E5;&#x904D;&#x5386;&#x5B8C;&#x6210;&#x672A;&#x627E;&#x5230;&#xFF0C;&#x5219;&#x8FD4;&#x56DE;&#x7A7A;&#x683C;&#x3002;</p><p><strong><strong><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong>O(N)</p><p><strong><strong><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong></strong></strong>O(1)</p><pre><code class="language-kotlin">class Solution {
    fun firstUniqChar(s: String): Char {
        var charArr = IntArray(26)
        for (pos in 0 until s.length) {
            charArr[s[pos] - &apos;a&apos;]++
        }
        for (pos in 0 until s.length) {
            if (charArr[s[pos] - &apos;a&apos;] == 1) {
                return s[pos]
            }
        }
        return &apos; &apos;
    }
}</code></pre>]]></content:encoded></item><item><title><![CDATA[[剑指Offer] Day 04]]></title><description><![CDATA[<h4 id="%E5%89%91%E6%8C%87-offer-03-%E6%95%B0%E7%BB%84%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97"><a href="https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/">&#x5251;&#x6307; Offer 03. &#x6570;&#x7EC4;&#x4E2D;&#x91CD;&#x590D;&#x7684;&#x6570;&#x5B57;</a></h4><p></p><p>&#x627E;&#x51FA;&#x6570;&#x7EC4;&#x4E2D;&#x91CD;&#x590D;&#x7684;&#x6570;&#x5B57;&#x3002;</p><p>&#x5728;&#x4E00;&#x4E2A;&#x957F;&#x5EA6;&#x4E3A; n &#x7684;&#x6570;&#x7EC4; nums &#x91CC;&#x7684;&#x6240;&#x6709;&#x6570;&#x5B57;&#x90FD;&#x5728; 0&#xFF5E;n-1 &#x7684;&#x8303;&#x56F4;&#x5185;&#x3002;</p>]]></description><link>https://jaimeding.cool:443/jian-zhi-offer-day-04/</link><guid isPermaLink="false">625587dc612365000116cd9a</guid><category><![CDATA[剑指Offer]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Tue, 12 Apr 2022 14:25:55 GMT</pubDate><content:encoded><![CDATA[<h4 id="%E5%89%91%E6%8C%87-offer-03-%E6%95%B0%E7%BB%84%E4%B8%AD%E9%87%8D%E5%A4%8D%E7%9A%84%E6%95%B0%E5%AD%97"><a href="https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/">&#x5251;&#x6307; Offer 03. &#x6570;&#x7EC4;&#x4E2D;&#x91CD;&#x590D;&#x7684;&#x6570;&#x5B57;</a></h4><p></p><p>&#x627E;&#x51FA;&#x6570;&#x7EC4;&#x4E2D;&#x91CD;&#x590D;&#x7684;&#x6570;&#x5B57;&#x3002;</p><p>&#x5728;&#x4E00;&#x4E2A;&#x957F;&#x5EA6;&#x4E3A; n &#x7684;&#x6570;&#x7EC4; nums &#x91CC;&#x7684;&#x6240;&#x6709;&#x6570;&#x5B57;&#x90FD;&#x5728; 0&#xFF5E;n-1 &#x7684;&#x8303;&#x56F4;&#x5185;&#x3002;&#x6570;&#x7EC4;&#x4E2D;&#x67D0;&#x4E9B;&#x6570;&#x5B57;&#x662F;&#x91CD;&#x590D;&#x7684;&#xFF0C;&#x4F46;&#x4E0D;&#x77E5;&#x9053;&#x6709;&#x51E0;&#x4E2A;&#x6570;&#x5B57;&#x91CD;&#x590D;&#x4E86;&#xFF0C;&#x4E5F;&#x4E0D;&#x77E5;&#x9053;&#x6BCF;&#x4E2A;&#x6570;&#x5B57;&#x91CD;&#x590D;&#x4E86;&#x51E0;&#x6B21;&#x3002;&#x8BF7;&#x627E;&#x51FA;&#x6570;&#x7EC4;&#x4E2D;&#x4EFB;&#x610F;&#x4E00;&#x4E2A;&#x91CD;&#x590D;&#x7684;&#x6570;&#x5B57;&#x3002;</p><p><strong>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;</strong>&#x6BD4;&#x8F83;&#x7B80;&#x5355;&#x7684;&#x505A;&#x6CD5;&#x662F;&#x4F9D;&#x6B21;&#x904D;&#x5386;&#xFF0C;&#x7136;&#x540E;&#x5B58;HashMap&#x3002;&#xFF08;&#x65F6;&#x95F4;&#x3001;&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#x5747;&#x4E3A;O(N)&#xFF09; &#x5982;&#x679C;&#x8981;&#x6C42;&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#x4E3A;O(1),&#x5219;&#x53EF;&#x4EE5;&#x5229;&#x7528;&#x9898;&#x76EE;&#x6570;&#x636E;&#x7684;&#x7279;&#x70B9;&#xFF0C;&#x4F7F;&#x7528;&#x300C;&#x4EA4;&#x6362;&#x4F4D;&#x7F6E;&#x6CD5;&#x300D;&#x548C;&#x300C;&#x7F6E;&#x8D1F;&#x6570;&#x300D;&#x6CD5;&#x3002;</p><p>&#x8FD9;&#x91CC;&#x4F7F;&#x7528;&#x4E86;&#x300C;&#x4EA4;&#x6362;&#x4F4D;&#x7F6E;&#x6CD5;&#x300D;&#x3002;&#x4F9D;&#x6B21;&#x904D;&#x5386;&#x904D;&#x5386;&#x6570;&#x7EC4;&#xFF0C;&#x82E5;&#x5F53;&#x524D;&#x7684;&#x503C;&#x4E0E;&#x4E0B;&#x6807;&#x4E0D;&#x76F8;&#x540C;&#xFF0C;&#x5219;&#x5C06;&#x5176;&#x4E0E;&#x300C;&#x5F53;&#x524D;&#x503C;&#x4E3A;&#x4E0B;&#x6807;&#x300D;&#x7684;&#x6570;&#x5B57;&#x76F8;&#x4E92;&#x4EA4;&#x6362;&#xFF0C;&#x82E5;&#x8FD9;&#x4E24;&#x4E2A;&#x6570;&#x5B57;&#x662F;&#x76F8;&#x540C;&#x7684;&#xFF0C;&#x5219;&#x76F4;&#x63A5;&#x8FD4;&#x56DE;&#x3002;&#x6CE8;&#x610F;&#xFF0C;&#x4EA4;&#x6362;&#x5B8C;&#x6210;&#x540E;&#x4ECD;&#x7136;&#x7EE7;&#x7EED;&#x5224;&#x65AD;&#x5F53;&#x524D;&#x4F4D;&#x7F6E;&#xFF0C;&#x76F4;&#x5230;&#x4E0B;&#x6807;&#x548C;&#x503C;&#x76F8;&#x540C;&#xFF0C;&#x518D;&#x628A;&#x4F4D;&#x7F6E;&#x540E;&#x79FB;&#x3002;</p><p>&#x82E5;&#x904D;&#x5386;&#x5B8C;&#x6570;&#x7EC4;&#xFF0C;&#x5219;&#x8BF4;&#x660E;&#x4E0D;&#x5B58;&#x5728;&#x76F8;&#x540C;&#x6570;&#x5B57;&#xFF0C;&#x8FD4;&#x56DE;-1&#x3002;&#xFF08;&#x6309;&#x7167;&#x9898;&#x610F;&#x4E0D;&#x4F1A;&#x51FA;&#x73B0;&#x8FD9;&#x79CD;&#x60C5;&#x51B5;&#xFF09;</p><p><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong>O(N)</p><p><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong>O(1)</p><pre><code class="language-Kotlin">class Solution {
    fun findRepeatNumber(nums: IntArray): Int {
        var pos = 0
        while (pos &lt; nums.size) {
            if (nums[pos] == pos) {
                pos++
                continue
            }

            if (nums[nums[pos]] == nums[pos]) {
                return nums[pos]
            }

            val tmp = nums[pos]
            nums[pos] = nums[tmp]
            nums[tmp] = tmp
        }
         return -1
    }
}</code></pre><p></p><h4 id="%E5%89%91%E6%8C%87-offer-53i-%E5%9C%A8%E6%8E%92%E5%BA%8F%E6%95%B0%E7%BB%84%E4%B8%AD%E6%9F%A5%E6%89%BE%E6%95%B0%E5%AD%97-i"><a href="https://leetcode-cn.com/problems/zai-pai-xu-shu-zu-zhong-cha-zhao-shu-zi-lcof/">&#x5251;&#x6307; Offer 53 - I. &#x5728;&#x6392;&#x5E8F;&#x6570;&#x7EC4;&#x4E2D;&#x67E5;&#x627E;&#x6570;&#x5B57; I</a></h4><p>&#x7EDF;&#x8BA1;&#x4E00;&#x4E2A;&#x6570;&#x5B57;&#x5728;&#x6392;&#x5E8F;&#x6570;&#x7EC4;&#x4E2D;&#x51FA;&#x73B0;&#x7684;&#x6B21;&#x6570;&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x8FD9;&#x9898;&#x592A;&#x7B80;&#x5355;&#x4E86;&#xFF0C;&#x5C31;&#x4E0D;&#x89E3;&#x91CA;&#x4E86;&#x3002;</p><p><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong>O(N)</p><p><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong>O(1)</p><pre><code class="language-Kotlin">class Solution {
    fun search(nums: IntArray, target: Int): Int {
        var count = 0
        for (num in nums) {
            if (num == target) {
                count++
            }
        }
        return count
    }
}</code></pre><h4 id="%E5%89%91%E6%8C%87-offer-53ii-0%EF%BD%9En-1%E4%B8%AD%E7%BC%BA%E5%A4%B1%E7%9A%84%E6%95%B0%E5%AD%97"><a href="https://leetcode-cn.com/problems/que-shi-de-shu-zi-lcof/">&#x5251;&#x6307; Offer 53 - II. 0&#xFF5E;n-1&#x4E2D;&#x7F3A;&#x5931;&#x7684;&#x6570;&#x5B57;</a></h4><p></p><p>&#x4E00;&#x4E2A;&#x957F;&#x5EA6;&#x4E3A;n-1&#x7684;&#x9012;&#x589E;&#x6392;&#x5E8F;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x6240;&#x6709;&#x6570;&#x5B57;&#x90FD;&#x662F;&#x552F;&#x4E00;&#x7684;&#xFF0C;&#x5E76;&#x4E14;&#x6BCF;&#x4E2A;&#x6570;&#x5B57;&#x90FD;&#x5728;&#x8303;&#x56F4;0&#xFF5E;n-1&#x4E4B;&#x5185;&#x3002;&#x5728;&#x8303;&#x56F4;0&#xFF5E;n-1&#x5185;&#x7684;n&#x4E2A;&#x6570;&#x5B57;&#x4E2D;&#x6709;&#x4E14;&#x53EA;&#x6709;&#x4E00;&#x4E2A;&#x6570;&#x5B57;&#x4E0D;&#x5728;&#x8BE5;&#x6570;&#x7EC4;&#x4E2D;&#xFF0C;&#x8BF7;&#x627E;&#x51FA;&#x8FD9;&#x4E2A;&#x6570;&#x5B57;&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x4F9D;&#x7167;&#x9898;&#x76EE;&#x7279;&#x6027;&#xFF0C;&#x904D;&#x5386;&#x6570;&#x7EC4;&#x65F6;&#xFF0C;&#x82E5;&#x67D0;&#x4E2A;&#x4F4D;&#x7F6E;&#x7684;&#x503C;&#x4E0E;&#x4E0B;&#x6807;&#x4E0D;&#x76F8;&#x540C;&#xFF0C;&#x8BF4;&#x660E;&#x7F3A;&#x4E86;&#x8FD9;&#x4E2A;&#x6570;&#xFF0C;&#x76F4;&#x63A5;&#x8FD4;&#x56DE;&#x3002;&#x82E5;&#x904D;&#x5386;&#x5B8C;&#x6210;&#xFF0C;&#x8BF4;&#x660E;&#x7F3A;&#x4E86;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#x6570;&#x5B57;&#xFF0C;&#x8FD4;&#x56DE;&#x6570;&#x7EC4;&#x957F;&#x5EA6;&#x5373;&#x53EF;&#x3002;</p><p><strong><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong>O(N)</p><p><strong><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong></strong>O(1)</p><pre><code class="language-Kotlin">class Solution {
    fun missingNumber(nums: IntArray): Int {
        for (pos in 0 until nums.size) {
            if (nums[pos] != pos) {
                return pos
            }
        }
        return nums.size

    }
}</code></pre>]]></content:encoded></item><item><title><![CDATA[[剑指Offer] Day 03]]></title><description><![CDATA[<h4 id="%E5%89%91%E6%8C%87-offer-05-%E6%9B%BF%E6%8D%A2%E7%A9%BA%E6%A0%BC"><a href="https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/">&#x5251;&#x6307; Offer 05. &#x66FF;&#x6362;&#x7A7A;&#x683C;</a></h4><p>&#x8BF7;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x628A;&#x5B57;&#x7B26;&#x4E32; <code>s</code> &#x4E2D;&#x7684;&#x6BCF;&#x4E2A;&#x7A7A;&#x683C;&#x66FF;&#x6362;&#x6210;&quot;%20&quot;&#x3002;</p><p><strong>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;</strong>&#x4F7F;&#x7528;StringBuilder&#xFF0C;&#x4F9D;&#x6B21;&#x904D;&#x5386;&#x5B57;&#x7B26;&#x4E32;</p>]]></description><link>https://jaimeding.cool:443/jian-zhi-offer-day-03/</link><guid isPermaLink="false">625435c7612365000116cd59</guid><category><![CDATA[剑指Offer]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Mon, 11 Apr 2022 14:19:45 GMT</pubDate><content:encoded><![CDATA[<h4 id="%E5%89%91%E6%8C%87-offer-05-%E6%9B%BF%E6%8D%A2%E7%A9%BA%E6%A0%BC"><a href="https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/">&#x5251;&#x6307; Offer 05. &#x66FF;&#x6362;&#x7A7A;&#x683C;</a></h4><p>&#x8BF7;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x628A;&#x5B57;&#x7B26;&#x4E32; <code>s</code> &#x4E2D;&#x7684;&#x6BCF;&#x4E2A;&#x7A7A;&#x683C;&#x66FF;&#x6362;&#x6210;&quot;%20&quot;&#x3002;</p><p><strong>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;</strong>&#x4F7F;&#x7528;StringBuilder&#xFF0C;&#x4F9D;&#x6B21;&#x904D;&#x5386;&#x5B57;&#x7B26;&#x4E32;&#x7684;&#x5B57;&#x7B26;&#xFF0C;&#x5224;&#x65AD;&#x662F;&#x5426;&#x4E3A;&#x7A7A;&#x683C;&#xFF0C;&#x5982;&#x679C;&#x662F;&#x7A7A;&#x683C;&#x5219;&#x66FF;&#x6362;&#x4E3A;&quot;%20&quot;&#x3002;&#x904D;&#x5386;&#x5B8C;&#x6210;&#x540E;&#x8F6C;&#x6362;&#x4E3A;string&#x8FD4;&#x56DE;&#x3002;</p><p><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong>O(N)</p><p><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong>O(N)</p><pre><code class="language-Kotlin">class Solution {
    fun replaceSpace(s: String): String {
        var sb = StringBuilder()
        for (pos in 0 until s.length) {
            var str = if (s[pos] == &apos; &apos;) {
                &quot;%20&quot;
            } else {
                s[pos].toString()
            }
            sb.append(str)
        }
        return sb.toString()

    }
}</code></pre><p></p><h4 id="%E5%89%91%E6%8C%87-offer-58ii-%E5%B7%A6%E6%97%8B%E8%BD%AC%E5%AD%97%E7%AC%A6%E4%B8%B2"><a href="https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/">&#x5251;&#x6307; Offer 58 - II. &#x5DE6;&#x65CB;&#x8F6C;&#x5B57;&#x7B26;&#x4E32;</a></h4><p>&#x5B57;&#x7B26;&#x4E32;&#x7684;&#x5DE6;&#x65CB;&#x8F6C;&#x64CD;&#x4F5C;&#x662F;&#x628A;&#x5B57;&#x7B26;&#x4E32;&#x524D;&#x9762;&#x7684;&#x82E5;&#x5E72;&#x4E2A;&#x5B57;&#x7B26;&#x8F6C;&#x79FB;&#x5230;&#x5B57;&#x7B26;&#x4E32;&#x7684;&#x5C3E;&#x90E8;&#x3002;&#x8BF7;&#x5B9A;&#x4E49;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#x5B9E;&#x73B0;&#x5B57;&#x7B26;&#x4E32;&#x5DE6;&#x65CB;&#x8F6C;&#x64CD;&#x4F5C;&#x7684;&#x529F;&#x80FD;&#x3002;&#x6BD4;&#x5982;&#xFF0C;&#x8F93;&#x5165;&#x5B57;&#x7B26;&#x4E32;&quot;abcdefg&quot;&#x548C;&#x6570;&#x5B57;2&#xFF0C;&#x8BE5;&#x51FD;&#x6570;&#x5C06;&#x8FD4;&#x56DE;&#x5DE6;&#x65CB;&#x8F6C;&#x4E24;&#x4F4D;&#x5F97;&#x5230;&#x7684;&#x7ED3;&#x679C;&quot;cdefgab&quot;&#x3002;</p><p><strong>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;</strong>&#x4F7F;&#x7528;StringBuilder&#xFF0C;&#x4ECE;n&#x5F00;&#x59CB;&#x4F9D;&#x6B21;&#x904D;&#x5386;&#x5B57;&#x7B26;&#x4E32;&#x7684;&#x5B57;&#x7B26;&#xFF0C;&#x8FFD;&#x52A0;&#x5230;StringBuilder&#x4E2D;&#x5373;&#x53EF;&#x3002;</p><p><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong>O(N)</p><p><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong>O(N)</p><pre><code class="language-Kotlin">class Solution {
    fun reverseLeftWords(s: String, n: Int): String {
        val sb = StringBuilder()
        for (pos in n until s.length) {
            sb.append(s[pos].toString())
        }
        for (pos in 0 until n) {
            sb.append(s[pos].toString())
        }
        return sb.toString()

    }
}</code></pre><p></p><p>ps&#xFF1A;&#x4ECA;&#x5929;&#x7684;&#x4E24;&#x9053;&#x9898;&#x76EE;&#x6574;&#x4F53;&#x6BD4;&#x8F83;&#x7B80;&#x5355;&#xFF0C;&#x6CA1;&#x6709;&#x7279;&#x522B;&#x9700;&#x8981;&#x6CE8;&#x610F;&#x7684;&#x5730;&#x65B9;&#x3002;&#x7B2C;&#x4E8C;&#x9898;&#x770B;&#x5176;&#x4ED6;&#x4EBA;&#x7684;&#x89E3;&#x7B54;&#x65F6;&#x6709;&#x4E2A;&#x53D6;&#x6A21;&#x7684;&#x5C0F;&#x6280;&#x5DE7;&#x53EF;&#x4EE5;&#x5B66;&#x4E60;&#x4E0B;&#x3002;</p><pre><code class="language-Java">class Solution {
    public String reverseLeftWords(String s, int n) {
        StringBuilder res = new StringBuilder();
        for(int i = n; i &lt; n + s.length(); i++)
            res.append(s.charAt(i % s.length()));
        return res.toString();
    }
}

&#x4F5C;&#x8005;&#xFF1A;jyd
&#x94FE;&#x63A5;&#xFF1A;https://leetcode-cn.com/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof/solution/mian-shi-ti-58-ii-zuo-xuan-zhuan-zi-fu-chuan-qie-p/
&#x6765;&#x6E90;&#xFF1A;&#x529B;&#x6263;&#xFF08;LeetCode&#xFF09;
&#x8457;&#x4F5C;&#x6743;&#x5F52;&#x4F5C;&#x8005;&#x6240;&#x6709;&#x3002;&#x5546;&#x4E1A;&#x8F6C;&#x8F7D;&#x8BF7;&#x8054;&#x7CFB;&#x4F5C;&#x8005;&#x83B7;&#x5F97;&#x6388;&#x6743;&#xFF0C;&#x975E;&#x5546;&#x4E1A;&#x8F6C;&#x8F7D;&#x8BF7;&#x6CE8;&#x660E;&#x51FA;&#x5904;&#x3002;</code></pre>]]></content:encoded></item><item><title><![CDATA[[剑指Offer] Day 02]]></title><description><![CDATA[<h4 id="%E5%89%91%E6%8C%87-offer-06-%E4%BB%8E%E5%B0%BE%E5%88%B0%E5%A4%B4%E6%89%93%E5%8D%B0%E9%93%BE%E8%A1%A8"><a href="https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/">&#x5251;&#x6307; Offer 06. &#x4ECE;&#x5C3E;&#x5230;&#x5934;&#x6253;&#x5370;&#x94FE;&#x8868;</a></h4><p>&#x8F93;&#x5165;&#x4E00;&#x4E2A;&#x94FE;&#x8868;&#x7684;&#x5934;&#x8282;&#x70B9;&#xFF0C;&#x4ECE;&#x5C3E;&#x5230;&#x5934;&#x53CD;&#x8FC7;&#x6765;&#x8FD4;&#x56DE;&#x6BCF;&#x4E2A;&#x8282;&#x70B9;&#x7684;&#x503C;&#xFF08;&#x7528;&#x6570;&#x7EC4;&#x8FD4;&#x56DE;&#xFF09;&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;</p>]]></description><link>https://jaimeding.cool:443/jian-zhi-offer-day-02/</link><guid isPermaLink="false">625296ae612365000116cd05</guid><category><![CDATA[剑指Offer]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Sun, 10 Apr 2022 08:50:17 GMT</pubDate><content:encoded><![CDATA[<h4 id="%E5%89%91%E6%8C%87-offer-06-%E4%BB%8E%E5%B0%BE%E5%88%B0%E5%A4%B4%E6%89%93%E5%8D%B0%E9%93%BE%E8%A1%A8"><a href="https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/">&#x5251;&#x6307; Offer 06. &#x4ECE;&#x5C3E;&#x5230;&#x5934;&#x6253;&#x5370;&#x94FE;&#x8868;</a></h4><p>&#x8F93;&#x5165;&#x4E00;&#x4E2A;&#x94FE;&#x8868;&#x7684;&#x5934;&#x8282;&#x70B9;&#xFF0C;&#x4ECE;&#x5C3E;&#x5230;&#x5934;&#x53CD;&#x8FC7;&#x6765;&#x8FD4;&#x56DE;&#x6BCF;&#x4E2A;&#x8282;&#x70B9;&#x7684;&#x503C;&#xFF08;&#x7528;&#x6570;&#x7EC4;&#x8FD4;&#x56DE;&#xFF09;&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x9996;&#x5148;&#x904D;&#x5386;&#x4E00;&#x904D;&#x94FE;&#x8868;&#xFF0C;&#x83B7;&#x5F97;&#x94FE;&#x8868;&#x957F;&#x5EA6;&#x3002;&#x7136;&#x540E;&#x521B;&#x5EFA;&#x5BF9;&#x5E94;&#x957F;&#x5EA6;&#x7684;&#x6570;&#x7EC4;&#xFF0C;&#x518D;&#x4ECE;&#x5934;&#x904D;&#x5386;&#x94FE;&#x8868;&#xFF0C;&#x4F9D;&#x6B21;&#x5B58;&#x5230;&#x6570;&#x7EC4;&#x4E2D;&#xFF0C;&#x5B58;&#x653E;&#x7684;&#x65F6;&#x5019;&#x4ECE;<strong>&#x53F3;&#x4FA7;</strong>&#x5F00;&#x59CB;&#x653E;&#x3002;</p><p>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;O(N)</p><p>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;O(1)</p><pre><code class="language-Kotlin">class Solution {
    fun reversePrint(head: ListNode?): IntArray {
        var length = 0
        var p = head
        while (p != null) {
            p = p.next
            length++
        }
        var intArray = IntArray(length)
        p = head
        while (p != null) {
            intArray.set(--length,p.`val`)
            p = p.next
        }
        return intArray

    }
}</code></pre><p></p><h4 id="%E5%89%91%E6%8C%87-offer-24-%E5%8F%8D%E8%BD%AC%E9%93%BE%E8%A1%A8"><a href="https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof/">&#x5251;&#x6307; Offer 24. &#x53CD;&#x8F6C;&#x94FE;&#x8868;</a></h4><p>&#x5B9A;&#x4E49;&#x4E00;&#x4E2A;&#x51FD;&#x6570;&#xFF0C;&#x8F93;&#x5165;&#x4E00;&#x4E2A;&#x94FE;&#x8868;&#x7684;&#x5934;&#x8282;&#x70B9;&#xFF0C;&#x53CD;&#x8F6C;&#x8BE5;&#x94FE;&#x8868;&#x5E76;&#x8F93;&#x51FA;&#x53CD;&#x8F6C;&#x540E;&#x94FE;&#x8868;&#x7684;&#x5934;&#x8282;&#x70B9;&#x3002;</p><p><strong>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;</strong>&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x65B0;&#x8282;&#x70B9;&#xFF0C;&#x4F9D;&#x6B21;&#x5C06;&#x539F;&#x6765;&#x94FE;&#x8868;&#x4E0A;&#x7684;&#x8282;&#x70B9;&#x63A5;&#x5230;&#x65B0;&#x8282;&#x70B9;&#x540E;&#x9762;&#x3002;&#x6CE8;&#x610F;&#x63A5;&#x7684;&#x65F6;&#x5019;&#x4E0D;&#x8981;&#x51FA;&#x73B0;&quot;&#x65AD;&#x94FE;&quot;&#x95EE;&#x9898;&#x3002;&#x6700;&#x540E;&#x8FD4;&#x56DE;<strong>&#x65B0;&#x8282;&#x70B9;&#x7684;&#x540E;&#x7EED;&#x8282;&#x70B9;</strong>&#x5373;&#x53EF;&#x3002;</p><p>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;O(N)</p><p>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;O(1)</p><pre><code class="language-Kotlin">class Solution {
    fun reverseList(head: ListNode?): ListNode? {
        val resNode = ListNode(0)
        var p = head
        var pNext = head?.next
        while (p != null) {
            p.next = resNode.next
            resNode.next = p

            p = pNext
            pNext = pNext?.next
        }
        return resNode.next

    }
}</code></pre><h4 id="%E5%89%91%E6%8C%87-offer-35-%E5%A4%8D%E6%9D%82%E9%93%BE%E8%A1%A8%E7%9A%84%E5%A4%8D%E5%88%B6"><a href="https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof/">&#x5251;&#x6307; Offer 35. &#x590D;&#x6742;&#x94FE;&#x8868;&#x7684;&#x590D;&#x5236;</a></h4><p>&#x8BF7;&#x5B9E;&#x73B0; copyRandomList &#x51FD;&#x6570;&#xFF0C;&#x590D;&#x5236;&#x4E00;&#x4E2A;&#x590D;&#x6742;&#x94FE;&#x8868;&#x3002;&#x5728;&#x590D;&#x6742;&#x94FE;&#x8868;&#x4E2D;&#xFF0C;&#x6BCF;&#x4E2A;&#x8282;&#x70B9;&#x9664;&#x4E86;&#x6709;&#x4E00;&#x4E2A; next &#x6307;&#x9488;&#x6307;&#x5411;&#x4E0B;&#x4E00;&#x4E2A;&#x8282;&#x70B9;&#xFF0C;&#x8FD8;&#x6709;&#x4E00;&#x4E2A; random &#x6307;&#x9488;&#x6307;&#x5411;&#x94FE;&#x8868;&#x4E2D;&#x7684;&#x4EFB;&#x610F;&#x8282;&#x70B9;&#x6216;&#x8005; null&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#xFF08;&#x8FD9;&#x9898;&#x81EA;&#x5DF1;&#x6CA1;&#x60F3;&#x51FA;&#x6765;&#xFF0C;&#x53C2;&#x8003;&#x7684;&#x5B98;&#x65B9;&#x89E3;&#x6CD5;&#x3002;&#xFF09;&#x6838;&#x5FC3;&#x601D;&#x60F3;&#x662F;&#x7528;map&#x5B58;&#x653E;&#x4E86;&#x65B0;&#x65E7;&#x8282;&#x70B9;&#x7684;&#x5BF9;&#x5E94;&#x5173;&#x7CFB;&#x3002;&#x5BF9;&#x4E00;&#x4E2A;&#x8282;&#x70B9;&#x505A;copyRandomList&#x64CD;&#x4F5C;&#xFF0C;&#x5373;&#x5148;&#x5224;&#x65AD;map&#x4E2D;&#x662F;&#x5426;&#x5B58;&#x5728;&#x8BE5;&#x8282;&#x70B9;&#xFF0C;&#x5982;&#x679C;&#x6709;&#x8BF4;&#x660E;&#x5DF2;&#x7ECF;&#x521B;&#x5EFA;&#x8FC7;&#xFF0C;&#x76F4;&#x63A5;&#x8FD4;&#x56DE;&#x5373;&#x53EF;&#x3002;&#x5982;&#x679C;&#x6CA1;&#x6709;&#x5219;&#x521B;&#x5EFA;&#x4E00;&#x4E2A;&#x65B0;&#x7684;&#x8282;&#x70B9;&#xFF0C;&#x590D;&#x5236;&#x539F;&#x8282;&#x70B9;&#x7684;&#x503C;&#x3002;&#x5E76;&#x5C06;&#x8FD9;&#x4E24;&#x4E2A;&#x8282;&#x70B9;&#x5B58;&#x5230;map&#x4E2D;&#x3002;&#x7136;&#x540E;&#x65B0;&#x8282;&#x70B9;&#x7684;next&#x548C;random&#x6307;&#x9488;&#x540C;&#x6837;&#x901A;&#x8FC7;&#x8C03;&#x7528;copyRandomList&#x83B7;&#x5F97;&#x3002;</p><p>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;O(N)</p><p>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;O(N)</p><pre><code class="language-Java">class Solution {
    HashMap&lt;Node, Node&gt; map = new HashMap&lt;Node, Node&gt;();

    public Node copyRandomList(Node head) {
        if (head == null) return head;

        if (!map.containsKey(head)) {
            Node newNode = new Node(head.val);
            map.put(head, newNode);
            newNode.next = copyRandomList(head.next);
            newNode.random = copyRandomList(head.random);
        }

        return map.get(head);


        
    }
}</code></pre>]]></content:encoded></item><item><title><![CDATA[[剑指Offer] Day 01]]></title><description><![CDATA[<h4 id="%E5%89%91%E6%8C%87-offer-09-%E7%94%A8%E4%B8%A4%E4%B8%AA%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97"><a href="https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/">&#x5251;&#x6307; Offer 09. &#x7528;&#x4E24;&#x4E2A;&#x6808;&#x5B9E;&#x73B0;&#x961F;&#x5217;</a></h4><p>&#x7528;&#x4E24;&#x4E2A;&#x6808;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x961F;&#x5217;&#x3002;&#x961F;&#x5217;&#x7684;&#x58F0;&#x660E;&#x5982;&#x4E0B;&#xFF0C;&#x8BF7;&#x5B9E;&#x73B0;&#x5B83;&#x7684;&#x4E24;&#x4E2A;&#x51FD;&#x6570; appendTail &#x548C; deleteHead &#xFF0C;&#x5206;&#x522B;&#x5B8C;&#x6210;&#x5728;&#x961F;</p>]]></description><link>https://jaimeding.cool:443/jian-zhi-offer/</link><guid isPermaLink="false">625185f3612365000116ccec</guid><category><![CDATA[剑指Offer]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Sat, 09 Apr 2022 13:12:16 GMT</pubDate><content:encoded><![CDATA[<h4 id="%E5%89%91%E6%8C%87-offer-09-%E7%94%A8%E4%B8%A4%E4%B8%AA%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97"><a href="https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/">&#x5251;&#x6307; Offer 09. &#x7528;&#x4E24;&#x4E2A;&#x6808;&#x5B9E;&#x73B0;&#x961F;&#x5217;</a></h4><p>&#x7528;&#x4E24;&#x4E2A;&#x6808;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x961F;&#x5217;&#x3002;&#x961F;&#x5217;&#x7684;&#x58F0;&#x660E;&#x5982;&#x4E0B;&#xFF0C;&#x8BF7;&#x5B9E;&#x73B0;&#x5B83;&#x7684;&#x4E24;&#x4E2A;&#x51FD;&#x6570; appendTail &#x548C; deleteHead &#xFF0C;&#x5206;&#x522B;&#x5B8C;&#x6210;&#x5728;&#x961F;&#x5217;&#x5C3E;&#x90E8;&#x63D2;&#x5165;&#x6574;&#x6570;&#x548C;&#x5728;&#x961F;&#x5217;&#x5934;&#x90E8;&#x5220;&#x9664;&#x6574;&#x6570;&#x7684;&#x529F;&#x80FD;&#x3002;(&#x82E5;&#x961F;&#x5217;&#x4E2D;&#x6CA1;&#x6709;&#x5143;&#x7D20;&#xFF0C;deleteHead &#x64CD;&#x4F5C;&#x8FD4;&#x56DE; -1 )</p><p><strong>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;</strong>&#x5B9A;&#x4E49;&#x4E24;&#x4E2A;&#x6808;<em>inStack</em>&#x548C;<em>outStack</em>&#x3002;&#x5165;&#x961F;&#x64CD;&#x4F5C;&#x6BD4;&#x8F83;&#x7B80;&#x5355;&#xFF1A;&#x961F;&#x5217;&#x4E2D;&#x5143;&#x7D20;&#x5165;&#x961F;&#x65F6;&#x5C31;push&#x5230;<em>inStack</em>&#x4E2D;&#x3002;&#x51FA;&#x961F;&#x5217;&#x65F6;&#x7EDF;&#x4E00;&quot;&#x5012;&quot;&#x5230;<em>outStack</em>&#x4E2D;&#xFF0C;&#x987A;&#x5E8F;&#x4E0A;&#x505A;&#x4E86;&#x4E00;&#x6B21;&#x8C03;&#x6362;<em>&#x3002;</em>&#x8981;&#x8003;&#x8651;&#x4EE5;&#x4E0B;&#x51E0;&#x79CD;&#x60C5;&#x51B5;&#xFF1A;1.&#x5982;&#x679C;<em>outStack</em>&#x4E2D;&#x8FD8;&#x6709;&#x5143;&#x7D20;&#xFF0C;&#x76F4;&#x63A5;pop&#x5373;&#x53EF;&#xFF1B;2.&#x5982;&#x679C;<em>outStack</em>&#x6CA1;&#x6709;&#x5143;&#x7D20;&#xFF0C;<em>inStack</em>&#x4E5F;&#x6CA1;&#x6709;&#x5143;&#x7D20;&#x4E86;&#xFF0C;&#x8868;&#x660E;&#x961F;&#x5217;&#x5DF2;&#x7ECF;&#x4E3A;&#x7A7A;&#x8FD4;&#x56DE;-1&#xFF1B;3.&#x5982;&#x679C;<em>outStack</em>&#x6CA1;&#x6709;&#x5143;&#x7D20;&#xFF0C;<em>inStack&#x4ECD;&#x7136;&#x6709;&#x5143;&#x7D20;&#x3002;&#x5148;&#x5C06;&#x6240;&#x6709;&#x5143;&#x7D20;</em>&quot;&#x5012;&quot;&#x5230;<em>outStack</em>&#x4E2D;&#xFF0C;&#x7136;&#x540E;&#x5F39;&#x51FA;&#x9876;&#x90E8;&#x5143;&#x7D20;&#x5373;&#x53EF;&#x3002;</p><pre><code class="language-kotlin">class CQueue() {
    val inStack = Stack&lt;Int&gt;()
    val outStack = Stack&lt;Int&gt;()

    fun appendTail(value: Int) {
        inStack.push(value)
    }

    fun deleteHead(): Int {
        if (outStack.isEmpty().not()) {
            return outStack.pop()
        }

        if (inStack.isEmpty()) return -1

        while (inStack.isEmpty().not()) {
            outStack.push(inStack.pop())
        }

        return outStack.pop()

    }

}</code></pre><h4 id="%E5%89%91%E6%8C%87-offer-30-%E5%8C%85%E5%90%ABmin%E5%87%BD%E6%95%B0%E7%9A%84%E6%A0%88"><a href="https://leetcode-cn.com/problems/bao-han-minhan-shu-de-zhan-lcof/">&#x5251;&#x6307; Offer 30. &#x5305;&#x542B;min&#x51FD;&#x6570;&#x7684;&#x6808;</a></h4><p>&#x5B9A;&#x4E49;&#x6808;&#x7684;&#x6570;&#x636E;&#x7ED3;&#x6784;&#xFF0C;&#x8BF7;&#x5728;&#x8BE5;&#x7C7B;&#x578B;&#x4E2D;&#x5B9E;&#x73B0;&#x4E00;&#x4E2A;&#x80FD;&#x591F;&#x5F97;&#x5230;&#x6808;&#x7684;&#x6700;&#x5C0F;&#x5143;&#x7D20;&#x7684; min &#x51FD;&#x6570;&#x5728;&#x8BE5;&#x6808;&#x4E2D;&#xFF0C;&#x8C03;&#x7528; min&#x3001;push &#x53CA; pop &#x7684;&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#x90FD;&#x662F; O(1)&#x3002;</p><p>&#x89E3;&#x9898;&#x601D;&#x8DEF;&#xFF1A;&#x5B9A;&#x4E49;&#x4E24;&#x4E2A;&#x6808;&#xFF08;&#x4E00;&#x4E2A;&#x6808;&#x5B58;&#x653E;&#x538B;&#x5165;&#x7684;&#x5143;&#x7D20;&#xFF0C;&#x4E00;&#x4E2A;&#x6808;&#x5B58;&#x653E;&#x6BCF;&#x6B21;&#x66F4;&#x65B0;&#x540E;&#x7684;&#x6700;&#x5C0F;&#x503C;&#xFF09;&#x548C;&#x4E00;&#x4E2A;&#x53D8;&#x91CF;&#x8BB0;&#x5F55;&#x5F53;&#x524D;&#x6700;&#x5C0F;&#x503C;&#x3002;&#x6BCF;&#x6B21;&#x538B;&#x5165;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#xFF0C;&#x90FD;&#x5224;&#x65AD;&#x662F;&#x5426;&#x5C0F;&#x4E8E;&#x7B49;&#x4E8E;&#x5F53;&#x524D;&#x6700;&#x5C0F;&#x503C;&#xFF0C;&#x5982;&#x679C;&#x6EE1;&#x8DB3;&#x5C31;&#x5C06;&#x5176;&#x5B58;&#x5230;&#x6700;&#x5C0F;&#x6570;&#x6808;&#x3002;<strong>&#x8981;&#x6CE8;&#x610F;&#x7684;&#x662F;&#x300C;&#x7B49;&#x4E8E;&#x300D;&#x7684;&#x60C5;&#x51B5;&#x4E5F;&#x9700;&#x8981;&#x538B;&#x5165;&#x3002;</strong>&#x6BCF;&#x6B21;&#x5F39;&#x51FA;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#xFF0C;&#x5C31;&#x548C;&#x6700;&#x5C0F;&#x503C;&#x6808;&#x7684;&#x6808;&#x9876;&#x6BD4;&#x8F83;&#x4E0B;&#x662F;&#x5426;&#x76F8;&#x540C;&#xFF0C;&#x5982;&#x679C;&#x76F8;&#x540C;&#x5219;&#x5F39;&#x51FA;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#x3002;&#x6B64;&#x65F6;&#x9700;&#x8981;&#x66F4;&#x65B0;&#x5F53;&#x524D;&#x6700;&#x5C0F;&#x503C;&#x53D8;&#x91CF;&#x3002;</p><pre><code class="language-kotlin">class MinStack() {

    /** initialize your data structure here. */
    val stack = Stack&lt;Int&gt;()
    val minStack = Stack&lt;Int&gt;()
    var curMin = Int.MAX_VALUE
    
    fun push(x: Int) {
        stack.push(x)
        if (x &lt;= curMin) {
            curMin = x
            minStack.push(x)
        }
    }

    fun pop() {
        var popNum = stack.pop()
        if (curMin == popNum) {
            minStack.pop()
            if (minStack.isEmpty().not()) {
                curMin = minStack.peek()
            } else {
                curMin = Int.MAX_VALUE
            }
        }

    }

    fun top(): Int {
        return stack.peek()
    }

    fun min(): Int {
        return curMin
    }

}
</code></pre>]]></content:encoded></item><item><title><![CDATA[[每日一题] 67. 二进制求和]]></title><description><![CDATA[<p>&#x94FE;&#x63A5;&#xFF1A;<a href="https://leetcode-cn.com/problems/add-binary/">Leetcode</a></p><p>&#x96BE;&#x5EA6;&#x7B49;&#x7EA7;&#xFF1A;Easy</p><p></p><p>&#x7ED9;&#x4F60;&#x4E24;&#x4E2A;&#x4E8C;&#x8FDB;&#x5236;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x8FD4;&#x56DE;&#x5B83;&#x4EEC;&#x7684;&#x548C;&#xFF08;&#x7528;&#x4E8C;&#x8FDB;&#x5236;&#x8868;&#x793A;&#xFF09;&#x3002;</p><p>&#x8F93;&#x5165;&#x4E3A; &#x975E;&#x7A7A; &#x5B57;&#x7B26;&#x4E32;&#x4E14;&#x53EA;&#x5305;&#x542B;&#x6570;&#x5B57;</p>]]></description><link>https://jaimeding.cool:443/mei-ri-yi-ti-66-jia-yi/</link><guid isPermaLink="false">62504856612365000116ccae</guid><category><![CDATA[LeetCode]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Fri, 08 Apr 2022 14:47:53 GMT</pubDate><content:encoded><![CDATA[<p>&#x94FE;&#x63A5;&#xFF1A;<a href="https://leetcode-cn.com/problems/add-binary/">Leetcode</a></p><p>&#x96BE;&#x5EA6;&#x7B49;&#x7EA7;&#xFF1A;Easy</p><p></p><p>&#x7ED9;&#x4F60;&#x4E24;&#x4E2A;&#x4E8C;&#x8FDB;&#x5236;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;&#x8FD4;&#x56DE;&#x5B83;&#x4EEC;&#x7684;&#x548C;&#xFF08;&#x7528;&#x4E8C;&#x8FDB;&#x5236;&#x8868;&#x793A;&#xFF09;&#x3002;</p><p>&#x8F93;&#x5165;&#x4E3A; &#x975E;&#x7A7A; &#x5B57;&#x7B26;&#x4E32;&#x4E14;&#x53EA;&#x5305;&#x542B;&#x6570;&#x5B57; 1 &#x548C; 0&#x3002;</p><p>&#x793A;&#x4F8B; 1:</p><p>&#x8F93;&#x5165;: a = &quot;11&quot;, b = &quot;1&quot;<br>&#x8F93;&#x51FA;: &quot;100&quot;<br>&#x793A;&#x4F8B; 2:</p><p>&#x8F93;&#x5165;: a = &quot;1010&quot;, b = &quot;1011&quot;<br>&#x8F93;&#x51FA;: &quot;10101&quot;</p><p><strong><strong>&#x601D;&#x8DEF;&#xFF1A;</strong></strong>&#x8FD9;&#x91CC;&#x91C7;&#x7528;&#x4E86;&#x6A21;&#x62DF;&#x6570;&#x5B57;&#x6309;&#x4F4D;&#x7D2F;&#x52A0;&#x7684;&#x505A;&#x6CD5;&#xFF0C;&#x201C;&#x9022;&#x4E8C;&#x8FDB;&#x4E00;&#x201C;&#x3002;&#x628A;&#x7D2F;&#x52A0;&#x7684;&#x7ED3;&#x679C;&#x653E;&#x5230;StringBuilder&#x4E2D;&#xFF0C;&#x6700;&#x540E;&#x5012;&#x7F6E;&#x4E00;&#x6B21;&#xFF08;&#x56E0;&#x4E3A;&#x7D2F;&#x52A0;&#x662F;&#x4ECE;&#x4E2A;&#x4F4D;&#x52A0;&#x8D77;&#x7684;&#xFF09;&#x3002;</p><p>ps&#xFF1A;&#x8FD9;&#x91CC;&#x6709;&#x70B9;&#x5751;&#x7684;&#x662F;&#x4E00;&#x5F00;&#x59CB;&#x8BEF;&#x4EE5;&#x4E3A;kotlin&#x7684;Char&#x7C7B;&#x578B;&#x7684;toInt()&#xFF08;&#x5DF2;&#x88AB;&#x5E9F;&#x5F03;&#xFF0C;&#x4F7F;&#x7528;code&#x5C5E;&#x6027;&#x66FF;&#x4EE3;&#xFF09;&#x65B9;&#x6CD5;&#x53EF;&#x4EE5;&#x76F4;&#x63A5;&#x628A;&#x5B57;&#x7B26;&#x8F6C;&#x6362;&#x4E3A;&#x6570;&#x5B57;&#xFF0C;&#x5176;&#x5B9E;&#x8FD9;&#x6837;&#x76F4;&#x63A5;&#x8F6C;&#x6362;&#x5F97;&#x5230;&#x7684;&#x662F;&#x8BE5;&#x6570;&#x5B57;&#x5BF9;&#x5E94;&#x7684;ASCII&#x7801;&#x3002;&#x9700;&#x8981;&#x5148;&#x628A;Char&#x8F6C;&#x6362;&#x4E3A;String&#x518D;toInt()&#x3002;</p><pre><code class="language-kotlin">class Solution {
    fun addBinary(a: String, b: String): String {
        var posA = a.length - 1
        var posB = b.length - 1
        var carry = 0
        val sb = StringBuilder()
        while (posA &gt;= 0 || posB &gt;= 0 || carry &gt; 0) {
            var a = if (posA &gt;= 0) a[posA--].toString().toInt() else 0
            var b = if (posB &gt;= 0 ) b[posB--].toString().toInt() else 0
            var sum = a + b+ carry
            val realSum = if (sum == 2) { 
                carry = 1
                0
             } else if(sum == 3) {
                 carry = 1
                 1
             } else {
                 carry = 0
                 sum
             }
             sb.append(realSum)
        }

        return sb.toString().reversed()


    }
}</code></pre>]]></content:encoded></item><item><title><![CDATA[[每日一题] 66. 加一]]></title><description><![CDATA[<p>&#x94FE;&#x63A5;&#xFF1A;<a href="https://leetcode-cn.com/problems/length-of-last-word/">Leetcode</a></p><p>&#x96BE;&#x5EA6;&#x7B49;&#x7EA7;&#xFF1A;Easy</p><p>&#x7ED9;&#x5B9A;&#x4E00;&#x4E2A;&#x7531; &#x6574;&#x6570; &#x7EC4;&#x6210;&#x7684; &#x975E;&#x7A7A; &#x6570;&#x7EC4;&#x6240;&#x8868;&#x793A;&#x7684;&#x975E;&#x8D1F;&#x6574;&#x6570;&#xFF0C;&#x5728;&#x8BE5;&#x6570;&#x7684;&#x57FA;&#x7840;&#x4E0A;&#x52A0;&#x4E00;&#x3002;</p><p>&#x6700;&#x9AD8;&#x4F4D;&#x6570;&#x5B57;&#x5B58;&#x653E;</p>]]></description><link>https://jaimeding.cool:443/mei-ri-yi-ti-58-zui-hou-yi-ge-dan-ci-de-chang-du/</link><guid isPermaLink="false">624eef05612365000116cc82</guid><category><![CDATA[LeetCode]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Thu, 07 Apr 2022 14:14:46 GMT</pubDate><content:encoded><![CDATA[<p>&#x94FE;&#x63A5;&#xFF1A;<a href="https://leetcode-cn.com/problems/length-of-last-word/">Leetcode</a></p><p>&#x96BE;&#x5EA6;&#x7B49;&#x7EA7;&#xFF1A;Easy</p><p>&#x7ED9;&#x5B9A;&#x4E00;&#x4E2A;&#x7531; &#x6574;&#x6570; &#x7EC4;&#x6210;&#x7684; &#x975E;&#x7A7A; &#x6570;&#x7EC4;&#x6240;&#x8868;&#x793A;&#x7684;&#x975E;&#x8D1F;&#x6574;&#x6570;&#xFF0C;&#x5728;&#x8BE5;&#x6570;&#x7684;&#x57FA;&#x7840;&#x4E0A;&#x52A0;&#x4E00;&#x3002;</p><p>&#x6700;&#x9AD8;&#x4F4D;&#x6570;&#x5B57;&#x5B58;&#x653E;&#x5728;&#x6570;&#x7EC4;&#x7684;&#x9996;&#x4F4D;&#xFF0C; &#x6570;&#x7EC4;&#x4E2D;&#x6BCF;&#x4E2A;&#x5143;&#x7D20;&#x53EA;&#x5B58;&#x50A8;&#x5355;&#x4E2A;&#x6570;&#x5B57;&#x3002;</p><p>&#x4F60;&#x53EF;&#x4EE5;&#x5047;&#x8BBE;&#x9664;&#x4E86;&#x6574;&#x6570; 0 &#x4E4B;&#x5916;&#xFF0C;&#x8FD9;&#x4E2A;&#x6574;&#x6570;&#x4E0D;&#x4F1A;&#x4EE5;&#x96F6;&#x5F00;&#x5934;&#x3002;</p><p>&#x793A;&#x4F8B; 1&#xFF1A;</p><p>&#x8F93;&#x5165;&#xFF1A;digits = [1,2,3]<br>&#x8F93;&#x51FA;&#xFF1A;[1,2,4]<br>&#x89E3;&#x91CA;&#xFF1A;&#x8F93;&#x5165;&#x6570;&#x7EC4;&#x8868;&#x793A;&#x6570;&#x5B57; 123&#x3002;<br>&#x793A;&#x4F8B; 2&#xFF1A;</p><p>&#x8F93;&#x5165;&#xFF1A;digits = [4,3,2,1]<br>&#x8F93;&#x51FA;&#xFF1A;[4,3,2,2]<br>&#x89E3;&#x91CA;&#xFF1A;&#x8F93;&#x5165;&#x6570;&#x7EC4;&#x8868;&#x793A;&#x6570;&#x5B57; 4321&#x3002;<br>&#x793A;&#x4F8B; 3&#xFF1A;</p><p>&#x8F93;&#x5165;&#xFF1A;digits = [0]<br>&#x8F93;&#x51FA;&#xFF1A;[1]</p><p><strong>&#x601D;&#x8DEF;&#xFF1A;</strong>&#x672C;&#x9898;&#x9898;&#x610F;&#x8FD8;&#x662F;&#x6BD4;&#x8F83;&#x597D;&#x7406;&#x89E3;&#x3002;&#x76F4;&#x89C2;&#x7684;&#x60F3;&#xFF0C;&#x5982;&#x679C;&#x6700;&#x540E;&#x4E00;&#x4F4D;&#x6570;&#x5B57;&#x4E0D;&#x662F;9&#xFF0C;&#x76F4;&#x63A5;&#x6700;&#x540E;&#x4E00;&#x4F4D;&#x6570;&#x5B57;&#x52A0;1&#x5373;&#x53EF;&#x3002;&#x9700;&#x8981;&#x8003;&#x8651;&#x7684;&#x662F;&#x4E00;&#x4E9B;&#x7279;&#x6B8A;&#x60C5;&#x51B5;&#xFF0C;&#x5373;&#x672B;&#x5C3E;&#x5305;&#x542B;&#x591A;&#x4E2A;&#x8FDE;&#x7EED;&#x7684;9&#x9700;&#x8981;&#x6301;&#x7EED;&#x5411;&#x524D;&#x8FDB;&#x4F4D;&#x3002;&#x6700;&#x6781;&#x7AEF;&#x7684;&#x60C5;&#x51B5;&#x662F;&#x6240;&#x6709;&#x4F4D;&#x7F6E;&#x4E0A;&#x90FD;&#x662F;9&#xFF0C;&#x5219;&#x9700;&#x8981;&#x8FD4;&#x56DE;&#x4E00;&#x4E2A;&#x6BD4;&#x539F;&#x6765;&#x6570;&#x7EC4;&#x957F;1&#x7684;&#x6570;&#x7EC4;&#xFF0C;&#x9996;&#x4F4D;&#x4E3A;1&#xFF0C;&#x5176;&#x4ED6;&#x4F4D;&#x7F6E;&#x4E3A;0&#x3002;</p><p>ps&#xFF1A;&#x6211;&#x7684;&#x89E3;&#x6CD5;&#x662F;&#x5728;&#x529B;&#x6263;&#x7528;&#x6237;<a href="https://leetcode-cn.com/u/inuter/">inuter</a>&#x7684;&#x89E3;&#x6CD5;&#x57FA;&#x7840;&#x4E0A;&#x8C03;&#x6574;&#x4E86;&#x4E0B;&#x3002;&#x4ED6;&#x7684;&#x89E3;&#x6CD5;&#x4F7F;&#x7528;&#x4E86;&#x53D6;&#x6A21;&#x64CD;&#x4F5C;&#xFF0C;&#x6BD4;&#x8F83;&#x8017;&#x65F6;&#x3002;</p><pre><code class="language-kotlin">class Solution {
    fun plusOne(digits: IntArray): IntArray {
        val size = digits.size
        for (pos in size - 1 downTo 0) {
            val curNum = digits.get(pos) + 1
            if (curNum == 10) {
                digits.set(pos,0)
            } else {
                digits.set(pos, curNum)
                return digits
            }
        }

		// &#x6240;&#x6709;&#x4F4D;&#x90FD;&#x4E3A;9
        return IntArray(size + 1) { i -&gt;
            if (i == 0) 1 else 0
        }
    }
}</code></pre>]]></content:encoded></item><item><title><![CDATA[[每日一题] 58. 最后一个单词的长度]]></title><description><![CDATA[<p>&#x94FE;&#x63A5;&#xFF1A;<a href="https://leetcode-cn.com/problems/length-of-last-word/">Leetcode</a></p><p>&#x96BE;&#x5EA6;&#x7B49;&#x7EA7;&#xFF1A;Easy</p><p>&#x7ED9;&#x4F60;&#x4E00;&#x4E2A;&#x5B57;&#x7B26;&#x4E32; s&#xFF0C;&#x7531;&#x82E5;&#x5E72;&#x5355;&#x8BCD;&#x7EC4;&#x6210;&#xFF0C;&#x5355;&#x8BCD;&#x524D;&#x540E;&#x7528;&#x4E00;&#x4E9B;&#x7A7A;&#x683C;&#x5B57;&#x7B26;&#x9694;&#x5F00;&#x3002;&#x8FD4;&#x56DE;&#x5B57;&#x7B26;&#x4E32;&#x4E2D; &#x6700;&#x540E;&#x4E00;</p>]]></description><link>https://jaimeding.cool:443/mei-ri-yi-ti-53-zui-da-zi-shu-zu-he/</link><guid isPermaLink="false">624c222b69baf1000172f745</guid><category><![CDATA[LeetCode]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Tue, 05 Apr 2022 11:24:08 GMT</pubDate><content:encoded><![CDATA[<p>&#x94FE;&#x63A5;&#xFF1A;<a href="https://leetcode-cn.com/problems/length-of-last-word/">Leetcode</a></p><p>&#x96BE;&#x5EA6;&#x7B49;&#x7EA7;&#xFF1A;Easy</p><p>&#x7ED9;&#x4F60;&#x4E00;&#x4E2A;&#x5B57;&#x7B26;&#x4E32; s&#xFF0C;&#x7531;&#x82E5;&#x5E72;&#x5355;&#x8BCD;&#x7EC4;&#x6210;&#xFF0C;&#x5355;&#x8BCD;&#x524D;&#x540E;&#x7528;&#x4E00;&#x4E9B;&#x7A7A;&#x683C;&#x5B57;&#x7B26;&#x9694;&#x5F00;&#x3002;&#x8FD4;&#x56DE;&#x5B57;&#x7B26;&#x4E32;&#x4E2D; &#x6700;&#x540E;&#x4E00;&#x4E2A; &#x5355;&#x8BCD;&#x7684;&#x957F;&#x5EA6;&#x3002;</p><p>&#x5355;&#x8BCD; &#x662F;&#x6307;&#x4EC5;&#x7531;&#x5B57;&#x6BCD;&#x7EC4;&#x6210;&#x3001;&#x4E0D;&#x5305;&#x542B;&#x4EFB;&#x4F55;&#x7A7A;&#x683C;&#x5B57;&#x7B26;&#x7684;&#x6700;&#x5927;&#x5B50;&#x5B57;&#x7B26;&#x4E32;&#x3002;</p><p>&#x793A;&#x4F8B; 1&#xFF1A;</p><p>&#x8F93;&#x5165;&#xFF1A;s = &quot;Hello World&quot;<br>&#x8F93;&#x51FA;&#xFF1A;5<br>&#x89E3;&#x91CA;&#xFF1A;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#x5355;&#x8BCD;&#x662F;&#x201C;World&#x201D;&#xFF0C;&#x957F;&#x5EA6;&#x4E3A;5&#x3002;<br>&#x793A;&#x4F8B; 2&#xFF1A;</p><p>&#x8F93;&#x5165;&#xFF1A;s = &quot; &#xA0; fly me &#xA0; to &#xA0; the moon &#xA0;&quot;<br>&#x8F93;&#x51FA;&#xFF1A;4<br>&#x89E3;&#x91CA;&#xFF1A;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#x5355;&#x8BCD;&#x662F;&#x201C;moon&#x201D;&#xFF0C;&#x957F;&#x5EA6;&#x4E3A;4&#x3002;<br>&#x793A;&#x4F8B; 3&#xFF1A;</p><p>&#x8F93;&#x5165;&#xFF1A;s = &quot;luffy is still joyboy&quot;<br>&#x8F93;&#x51FA;&#xFF1A;6<br>&#x89E3;&#x91CA;&#xFF1A;&#x6700;&#x540E;&#x4E00;&#x4E2A;&#x5355;&#x8BCD;&#x662F;&#x957F;&#x5EA6;&#x4E3A;6&#x7684;&#x201C;joyboy&#x201D;&#x3002;</p><p><strong>&#x601D;&#x8DEF;&#xFF1A;</strong>&#x4ECE;&#x524D;&#x5F80;&#x540E;&#x4F9D;&#x6B21;&#x904D;&#x5386;&#x5B57;&#x7B26;&#x4E32;&#x7684;&#x5B57;&#x7B26;&#x3002;&#x7EF4;&#x62A4;&#x4E00;&#x4E2A;&#x53D8;&#x91CF;curLen&#x8BB0;&#x5F55;&#x5F53;&#x524D;&#x5355;&#x8BCD;&#x7684;&#x957F;&#x5EA6;&#xFF0C;&#x7EF4;&#x62A4;&#x4E00;&#x4E2A;&#x53D8;&#x91CF;LastLen&#x8BB0;&#x5F55;&#x4E0A;&#x4E00;&#x4E2A;&#x5355;&#x8BCD;&#x7684;&#x957F;&#x5EA6;&#x3002;&#x82E5;&#x5F53;&#x524D;&#x5B57;&#x7B26;&#x4E3A;&#x7A7A;&#x683C;&#xFF0C;&#x4E14;curLen&#x4E0D;&#x4E3A;0&#xFF0C;&#x8868;&#x793A;&#x524D;&#x4E00;&#x4E2A;&#x4F4D;&#x7F6E;&#x4E3A;&#x5355;&#x8BCD;&#x7684;&#x7ED3;&#x675F;&#x3002;&#x5C06;LastLen&#x8D4B;&#x503C;&#x4E3A;curLen&#x7684;&#x503C;&#xFF0C;&#x540C;&#x65F6;&#x5C06;curLen&#x7F6E;0&#xFF1B;&#x82E5;&#x5F53;&#x524D;&#x5B57;&#x7B26;&#x4E0D;&#x662F;&#x7A7A;&#x683C;&#xFF0C;&#x8BF4;&#x660E;&#x8BE5;&#x5355;&#x8BCD;&#x4ECD;&#x672A;&#x7ED3;&#x675F;&#xFF0C;&#x5219;curLen&#x81EA;&#x589E;1&#x3002;</p><p>&#x5F53;&#x6574;&#x4E2A;&#x5B57;&#x7B26;&#x4E32;&#x904D;&#x5386;&#x5B8C;&#x540E;&#xFF0C;&#x5224;&#x65AD;curLen&#x662F;&#x5426;&#x4E3A;0&#x3002;&#x82E5;&#x5176;&#x4E3A;0&#xFF0C;&#x5219;&#x8868;&#x793A;&#x6700;&#x540E;&#x5B57;&#x7B26;&#x4E32;&#x6700;&#x540E;&#x4E0D;&#x662F;&#x7A7A;&#x683C;&#xFF0C;&#x76F4;&#x63A5;&#x8FD4;&#x56DE;curLen&#xFF1B;&#x82E5;curLen&#x8868;&#x793A;&#x6700;&#x540E;&#x4E3A;&#x7A7A;&#x683C;&#xFF0C;&#x5219;&#x8FD4;&#x56DE;LastLen&#x3002;</p><p><strong>&#x65F6;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong>O(N)</p><p><strong>&#x7A7A;&#x95F4;&#x590D;&#x6742;&#x5EA6;&#xFF1A;</strong>O(1)</p><pre><code class="language-kotlin">class Solution {
    fun lengthOfLastWord(s: String): Int {
        var curLen = 0
        var lastLen = 0
        for (pos in 0 until s.length) {
            var curChar = s.get(pos)
            if (curChar == &apos; &apos; &amp;&amp; curLen != 0) {
                lastLen = curLen
                curLen = 0
            } 
            
            if (curChar != &apos; &apos;) {
                curLen++
            }
        }

        return if (curLen != 0) {
            curLen
        } else {
            lastLen
        }
    }
}</code></pre><p></p><p>PS:&#x770B;&#x4E86;LeetCode&#x7684;&#x5B98;&#x65B9;&#x89E3;&#x6CD5;&#xFF0C;&#x53D1;&#x73B0;&#x6211;&#x7684;&#x89E3;&#x6CD5;&#x8FD8;&#x662F;&#x592A;&#x8822;&#x4E86;&#xFF0C;&#x4ECE;&#x540E;&#x5F80;&#x524D;&#x904D;&#x5386;&#x4F1A;&#x65B9;&#x4FBF;&#x5F88;&#x591A;&#xFF0C;&#x8D34;&#x4E00;&#x4E0B;&#x5B98;&#x65B9;&#x7684;&#x7B54;&#x6848;&#x3002;</p><pre><code class="language-Java">class Solution {
    public int lengthOfLastWord(String s) {
        int index = s.length() - 1;
        while (s.charAt(index) == &apos; &apos;) {
            index--;
        }
        int wordLength = 0;
        while (index &gt;= 0 &amp;&amp; s.charAt(index) != &apos; &apos;) {
            wordLength++;
            index--;
        }
        return wordLength;
    }
}

&#x4F5C;&#x8005;&#xFF1A;LeetCode-Solution
&#x94FE;&#x63A5;&#xFF1A;https://leetcode-cn.com/problems/length-of-last-word/solution/zui-hou-yi-ge-dan-ci-de-chang-du-by-leet-51ih/
&#x6765;&#x6E90;&#xFF1A;&#x529B;&#x6263;&#xFF08;LeetCode&#xFF09;
&#x8457;&#x4F5C;&#x6743;&#x5F52;&#x4F5C;&#x8005;&#x6240;&#x6709;&#x3002;&#x5546;&#x4E1A;&#x8F6C;&#x8F7D;&#x8BF7;&#x8054;&#x7CFB;&#x4F5C;&#x8005;&#x83B7;&#x5F97;&#x6388;&#x6743;&#xFF0C;&#x975E;&#x5546;&#x4E1A;&#x8F6C;&#x8F7D;&#x8BF7;&#x6CE8;&#x660E;&#x51FA;&#x5904;&#x3002;</code></pre>]]></content:encoded></item><item><title><![CDATA[[每日一题] 53. 最大子数组和]]></title><description><![CDATA[<p>&#x94FE;&#x63A5;&#xFF1A;<a href="https://leetcode-cn.com/problems/maximum-subarray/">Leetcode</a></p><p>&#x96BE;&#x5EA6;&#x7B49;&#x7EA7;&#xFF1A;Easy</p><p>&#x7ED9;&#x4F60;&#x4E00;&#x4E2A;&#x6574;&#x6570;&#x6570;&#x7EC4; <code>nums</code> &#xFF0C;&#x8BF7;&#x4F60;&#x627E;&#x51FA;&#x4E00;&#x4E2A;&#x5177;&#x6709;&#x6700;&#x5927;&#x548C;&#x7684;&#x8FDE;&#x7EED;&#x5B50;&#x6570;&#x7EC4;&#xFF08;&#x5B50;&#x6570;&#x7EC4;&#x6700;&#x5C11;&#x5305;&#x542B;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#xFF09;</p>]]></description><link>https://jaimeding.cool:443/mei-ri-yi-ti/</link><guid isPermaLink="false">624ad2033c15ea0001175f85</guid><category><![CDATA[LeetCode]]></category><dc:creator><![CDATA[jaimeding]]></dc:creator><pubDate>Mon, 04 Apr 2022 11:10:55 GMT</pubDate><content:encoded><![CDATA[<p>&#x94FE;&#x63A5;&#xFF1A;<a href="https://leetcode-cn.com/problems/maximum-subarray/">Leetcode</a></p><p>&#x96BE;&#x5EA6;&#x7B49;&#x7EA7;&#xFF1A;Easy</p><p>&#x7ED9;&#x4F60;&#x4E00;&#x4E2A;&#x6574;&#x6570;&#x6570;&#x7EC4; <code>nums</code> &#xFF0C;&#x8BF7;&#x4F60;&#x627E;&#x51FA;&#x4E00;&#x4E2A;&#x5177;&#x6709;&#x6700;&#x5927;&#x548C;&#x7684;&#x8FDE;&#x7EED;&#x5B50;&#x6570;&#x7EC4;&#xFF08;&#x5B50;&#x6570;&#x7EC4;&#x6700;&#x5C11;&#x5305;&#x542B;&#x4E00;&#x4E2A;&#x5143;&#x7D20;&#xFF09;&#xFF0C;&#x8FD4;&#x56DE;&#x5176;&#x6700;&#x5927;&#x548C;&#x3002;</p><p><strong>&#x5B50;&#x6570;&#x7EC4; </strong>&#x662F;&#x6570;&#x7EC4;&#x4E2D;&#x7684;&#x4E00;&#x4E2A;&#x8FDE;&#x7EED;&#x90E8;&#x5206;&#x3002;</p><p>&#x793A;&#x4F8B; 1&#xFF1A;</p><p>&#x8F93;&#x5165;&#xFF1A;nums = [-2,1,-3,4,-1,2,1,-5,4]<br>&#x8F93;&#x51FA;&#xFF1A;6<br>&#x89E3;&#x91CA;&#xFF1A;&#x8FDE;&#x7EED;&#x5B50;&#x6570;&#x7EC4; [4,-1,2,1] &#x7684;&#x548C;&#x6700;&#x5927;&#xFF0C;&#x4E3A; 6 &#x3002;<br>&#x793A;&#x4F8B; 2&#xFF1A;</p><p>&#x8F93;&#x5165;&#xFF1A;nums = [1]<br>&#x8F93;&#x51FA;&#xFF1A;1<br>&#x793A;&#x4F8B; 3&#xFF1A;</p><p>&#x8F93;&#x5165;&#xFF1A;nums = [5,4,-1,7,8]<br>&#x8F93;&#x51FA;&#xFF1A;23</p><p><strong>&#x601D;&#x8DEF;&#xFF1A;</strong>&#x7EF4;&#x62A4;&#x4E00;&#x4E2A;&#x53D8;&#x91CF; <em>max</em> &#xA0;&#x4F5C;&#x4E3A;&#x8F93;&#x51FA;&#x7684;&#x7ED3;&#x679C;&#xFF0C;&#x5373;&#x8FDE;&#x7EED;&#x5B50;&#x6570;&#x7EC4;&#x7684;&#x6700;&#x5927;&#x503C;&#x3002;<em>cur </em>&#x53D8;&#x91CF;&#x4E3A;&#x5B50;&#x6570;&#x7EC4;&#x7D2F;&#x52A0;&#x81F3;&#x5F53;&#x524D;&#x4F4D;&#x7F6E;&#x540E;&#x7684;&#x7D2F;&#x52A0;&#x7ED3;&#x679C;&#x3002;<em>pre </em>&#x53D8;&#x91CF;&#x4E3A;&#x524D;&#x7F6E;&#x6570;&#x7EC4;&#x7684;&#x7D2F;&#x79EF;&#x7ED3;&#x679C;&#x3002;&#x4F9D;&#x6B21;&#x5FAA;&#x73AF;&#x904D;&#x5386;&#x6574;&#x4E2A;&#x6570;&#x7EC4;&#xFF0C;&#x5C06;&#x5F53;&#x524D;&#x7D2F;&#x52A0;&#x548C;&#x4E0E;max&#x6BD4;&#x8F83;&#x5927;&#x5C0F;&#xFF0C;&#x66F4;&#x65B0;&#x6700;&#x5927;&#x503C;&#x3002;&#x5982;&#x679C;&#x5F53;&#x524D;&#x7D2F;&#x52A0;&#x548C;&#x5C0F;&#x4E8E;0&#xFF0C;&#x5219;&#x5BF9;&#x540E;&#x7EED;&#x6570;&#x7EC4;&#x7D2F;&#x52A0;&#x548C;&#x4E00;&#x5B9A;&#x6CA1;&#x6709;&#x6B63;&#x5411;&#x6536;&#x76CA;&#xFF0C;&#x56E0;&#x6B64;&#x628A;<em>pre</em>&#x66F4;&#x65B0;&#x4E3A;0&#xFF1B;&#x5982;&#x679C;&#x5F53;&#x524D;&#x7D2F;&#x52A0;&#x548C;&#x5927;&#x4E8E;0&#xFF0C;&#x5219;&#x5BF9;&#x540E;&#x7EED;&#x6570;&#x7EC4;&#x7D2F;&#x52A0;&#x6709;&#x6B63;&#x6536;&#x76CA;&#xFF0C;<em>pre</em>&#x52A0;&#x4E0A;&#x5F53;&#x524D;&#x4F4D;&#x7F6E;&#x7684;&#x503C;&#x3002;&#x904D;&#x5386;&#x5B8C;&#x6210;&#x540E;&#x8FD4;&#x56DE;<em>max</em>&#x5373;&#x53EF;&#x3002;</p><pre><code class="language-Kotlin">class Solution {
    fun maxSubArray(nums: IntArray): Int {
        var max = nums.get(0) 
        var pre = 0

        for (pos in 0 until nums.size) {
            var cur = pre + nums.get(pos)
            max = Math.max(max, cur)
            if (cur &gt; 0) {
                pre += nums.get(pos)
            } else {
                pre = 0
            }

        }
        return max
    }
}
</code></pre>]]></content:encoded></item></channel></rss>