diff --git a/.gitignore b/.gitignore index a387c72b8..cd1fbccc7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,115 +1,7 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -env/ -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -*.egg-info/ -.installed.cfg -*.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -.hypothesis/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# pyenv -.python-version - -# celery beat schedule file -celerybeat-schedule - -# SageMath parsed files -*.sage.py - -# dotenv -.env - -# virtualenv -.venv -venv/ -ENV/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ .DS_Store - -# gitbook -_book - -# node.js -node_modules - -# windows Thumbs.db - -# word -~$*.docx -~$*.doc +db.json +*.log +node_modules/ +public/ +.deploy*/ diff --git a/404.html b/404.html deleted file mode 100644 index 5705bebe5..000000000 --- a/404.html +++ /dev/null @@ -1,4 +0,0 @@ ---- -permalink: /404.html ---- - diff --git a/CNAME b/CNAME deleted file mode 100644 index ad71e6f3f..000000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -algo.apachecn.org \ No newline at end of file diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 65e2ef590..000000000 --- a/Dockerfile +++ /dev/null @@ -1,2 +0,0 @@ -FROM httpd:2.4 -COPY ./ /usr/local/apache2/htdocs/ \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..9cecc1d46 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/NAV.md b/NAV.md deleted file mode 100644 index a91cdb26a..000000000 --- a/NAV.md +++ /dev/null @@ -1,196 +0,0 @@ -+ 编程 - + [JavaTPoint 编程语言中文教程📚](https://apachecn.github.io/javatpoint-prog-zh) - + [JavaTPoint .NET 中文教程📚](https://apachecn.github.io/javatpoint-dotnet-zh) - + [JavaTPoint Java 中文教程📚](https://apachecn.github.io/javatpoint-java-zh) - + [JavaTPoint Python 中文教程📚](https://apachecn.github.io/javatpoint-python-zh) - + [GeeksForGeeks 编程语言杂项中文教程📚](https://apachecn.github.io/geeksforgeeks-lang-misc-zh) - + [GeeksForGeeks C# 中文教程📚](https://apachecn.github.io/geeksforgeeks-csharp-zh) - + [GeeksForGeeks Scala 中文教程📚](https://apachecn.github.io/geeksforgeeks-scala-zh) - + [GeeksForGeeks Python 中文教程📚](https://apachecn.github.io/geeksforgeeks-python-zh) - + [GeeksForGeeks C/C++ 中文教程📚](https://apachecn.github.io/geeksforgeeks-c-cpp-zh) - + [GeeksForGeeks Java 中文教程📚](https://apachecn.github.io/geeksforgeeks-java-zh) - + [GeeksForGeeks JavaScript 中文教程📚](https://apachecn.github.io/geeksforgeeks-js-zh) - + [ApacheCN C# 译文集📚](https://apachecn.github.io/apachecn-csharp-zh) - + [ApacheCN C# 译文集(二)📚](https://apachecn.github.io/apachecn-csharp-zh-pt2) - + [ApacheCN C# 译文集(三)📚](https://apachecn.github.io/apachecn-csharp-zh-pt3) - + [ApacheCN C# 译文集(四)📚](https://apachecn.github.io/apachecn-csharp-zh-pt4) - + [ApacheCN Golang 译文集📚](https://apachecn.github.io/apachecn-golang-zh) - + [ApacheCN Golang 译文集(二)📚](https://apachecn.github.io/apachecn-golang-zh-pt2) - + [ApacheCN C/C++ 译文集📚](https://apachecn.github.io/apachecn-c-cpp-zh) - + [ApacheCN C/C++ 译文集(二)📚](https://apachecn.github.io/apachecn-c-cpp-zh-pt2) - + [ApacheCN C/C++ 译文集(三)📚](https://apachecn.github.io/apachecn-c-cpp-zh-pt3) - + [ApacheCN Java 译文集📚](https://apachecn.github.io/apachecn-java-zh) - + [ApacheCN Java 译文集(二)📚](https://apachecn.github.io/apachecn-java-zh-pt2) - + [ApacheCN Java 译文集(三)📚](https://apachecn.github.io/apachecn-java-zh-pt3) - + [ApacheCN JavaScript 译文集📚](https://apachecn.github.io/apachecn-js-zh) - + [ApacheCN JavaScript 译文集(二)📚](https://apachecn.github.io/apachecn-js-zh-pt2) - + [ApacheCN JavaScript 译文集(三)📚](https://apachecn.github.io/apachecn-js-zh-pt3) - + [ApacheCN JavaScript 译文集(四)📚](https://apachecn.github.io/apachecn-js-zh-pt4) - + [ApacheCN Python 译文集📚](https://apachecn.github.io/apachecn-python-zh) - + [ApacheCN Python 译文集(二)📚](https://apachecn.github.io/apachecn-python-zh-pt2) - + [ApacheCN Python 译文集(三)📚](https://apachecn.github.io/apachecn-python-zh-pt3) - + [ApacheCN Python 译文集(四)📚](https://apachecn.github.io/apachecn-python-zh-pt4) - + [ApacheCN Ruby 译文集📚](https://apachecn.github.io/apachecn-ruby-zh) - + [BeginnersBook 中文系列教程📚](https://apachecn.github.io/beginnersbook-zh) - + [JavaScript 编程精解 中文第三版](https://apachecn.github.io/eloquent-js-3e-zh) - + [Guru99 中文系列教程📚🚧](https://apachecn.github.io/guru99-zh) - + [HowToDoInJava 中文系列教程📚](https://apachecn.github.io/howtodoinjava-zh) - + [OverIQ 中文系列教程📚](https://apachecn.github.io/overiq-zh) - + [LearnETutroials 中文系列教程📚](https://apachecn.github.io/learnetutorials-zh) - + [StudyTonight 中文系列教程📚](https://apachecn.github.io/studytonight-zh) - + [TutorialGateway 中文系列教程📚](https://apachecn.github.io/tutorialgateway-zh) - + [TutorialGateway BI 中文系列教程📚](https://apachecn.github.io/tutorialgateway-bi-zh) - + [TutorialsTeacher 中文系列教程📚](https://apachecn.github.io/tutorialsteacher-zh) - + [通过示例学 Golang 2020 中文版](https://apachecn.github.io/golang-by-example-2020-zh) - + [写给不耐烦程序员的 JavaScript🚧](https://apachecn.github.io/impatient-js-zh) - + [JavaBeginnersTutorial 中文系列教程📚](https://apachecn.github.io/jbt-zh) - + [JavaTutorialNetwork 中文系列教程📚](https://apachecn.github.io/jtn-zh) - + [笨办法学C 中文版](https://apachecn.github.io/lcthw-zh) - + [笨办法学 Python · 续 中文版](https://apachecn.github.io/lmpythw-zh) - + [Programiz 中文系列教程📚](https://apachecn.github.io/programiz-zh) - + [PythonBasics 中文系列教程📚](https://apachecn.github.io/pythonbasics-zh) - + [PythonGuru 中文系列教程📚](https://apachecn.github.io/pythonguru-zh) - + [PythonSpot 中文系列教程📚](https://apachecn.github.io/pythonspot-zh) - + [Think Python](https://apachecn.github.io/think-py-2e-zh) - + [ZetCode 中文系列教程📚](https://apachecn.github.io/zetcode-zh) -+ 前端 - + [JavaTPoint 移动开发中文教程📚](https://apachecn.github.io/javatpoint-mobi-zh) - + [GeeksForGeeks Web 杂项中文教程📚](https://apachecn.github.io/geeksforgeeks-web-misc-zh) - + [GeeksForGeeks Angular/Vue/React 中文教程📚](https://apachecn.github.io/geeksforgeeks-ng-vue-react-zh) - + [GeeksForGeeks jQuery 中文教程📚](https://apachecn.github.io/geeksforgeeks-jquery-zh) - + [GeeksForGeeks CSS 中文教程📚](https://apachecn.github.io/geeksforgeeks-css-zh) - + [GeeksForGeeks HTML 中文教程📚](https://apachecn.github.io/geeksforgeeks-html-zh) - + [ApacheCN Vue 译文集📚](https://apachecn.github.io/apachecn-vue-zh) - + [ApacheCN Angular 译文集📚](https://apachecn.github.io/apachecn-angular-zh) - + [ApacheCN React 译文集📚](https://apachecn.github.io/apachecn-react-zh) - + [ApacheCN jQuery 译文集📚](https://apachecn.github.io/apachecn-jquery-zh) - + [ApacheCN jQuery 译文集(二)📚](https://apachecn.github.io/apachecn-jquery-zh-pt2) -+ 后端/大数据 - + [JavaTPoint 大数据中文教程📚](https://apachecn.github.io/javatpoint-bigdata-zh) - + [JavaTPoint Web 开发中文教程📚](https://apachecn.github.io/javatpoint-web-zh) - + [JavaTPoint 数据库中文教程📚](https://apachecn.github.io/javatpoint-db-zh) - + [JavaTPoint PHP 中文教程📚](https://apachecn.github.io/javatpoint-php-zh) - + [GeeksForGeeks ASP 中文教程📚](https://apachecn.github.io/geeksforgeeks-asp-zh) - + [GeeksForGeeks SQL 中文教程📚](https://apachecn.github.io/geeksforgeeks-sql-zh) - + [GeeksForGeeks NodeJS 中文教程📚](https://apachecn.github.io/geeksforgeeks-nodejs-zh) - + [GeeksForGeeks PHP 中文教程📚](https://apachecn.github.io/geeksforgeeks-php-zh) - + [ApacheCN 数据库译文集📚](https://apachecn.github.io/apachecn-db-zh) - + [ApacheCN 数据库译文集(二)📚](https://apachecn.github.io/apachecn-db-zh-pt2) - + [ApacheCN Python Web 译文集📚](https://apachecn.github.io/apachecn-pythonweb-zh) - + [ApacheCN Python Web 译文集(二)📚](https://apachecn.github.io/apachecn-pythonweb-zh-pt2) - + [ApacheCN Asp.NET 译文集📚](https://apachecn.github.io/apachecn-asp-dotnet-zh) - + [ApacheCN Asp.NET 译文集(二)📚](https://apachecn.github.io/apachecn-asp-dotnet-zh-pt2) - + [ApacheCN Asp.NET 译文集(三)📚](https://apachecn.github.io/apachecn-asp-dotnet-zh-pt3) - + [ApacheCN Asp.NET 译文集(四)📚](https://apachecn.github.io/apachecn-asp-dotnet-zh-pt4) - + [ApacheCN NodeJS 译文集📚](https://apachecn.github.io/apachecn-node-zh) - + [ApacheCN NodeJS 译文集(二)📚](https://apachecn.github.io/apachecn-node-zh-pt2) - + [ApacheCN PHP 译文集📚](https://apachecn.github.io/apachecn-php-zh) - + [ApacheCN PHP 译文集(二)📚](https://apachecn.github.io/apachecn-php-zh-pt2) - + [ApacheCN 大数据译文集(二)📚](https://apachecn.github.io/apachecn-bigdata-zh-pt2) - + [ApacheCN 大数据译文集(三)📚](https://apachecn.github.io/apachecn-bigdata-zh-pt3) - + [ApacheCN 大数据译文集📚](https://apachecn.github.io/apachecn-bigdata-zh) - + [ApacheCN Java Web 译文集📚](https://apachecn.github.io/apachecn-javaweb-zh) - + [ApacheCN Java Web 译文集(二)📚](https://apachecn.github.io/apachecn-javaweb-zh-pt2) - + [Airflow 中文文档](https://apachecn.github.io/airflow-doc-zh) - + [Elasticsearch 5.4 中文文档](https://apachecn.github.io/elasticsearch-doc-zh) - + [Flink 中文文档](https://apachecn.github.io/flink-doc-zh) - + [HBase™ 中文参考指南 3.0🚧](https://apachecn.github.io/hbase-doc-zh) - + [HighScalability 中文示例📚🚧](https://apachecn.github.io/highscalability-examples-zh) - + [Kibana 5.2 中文文档](https://apachecn.github.io/kibana-doc-zh) - + [Kudu 1.4.0 中文文档](https://apachecn.github.io/kudu-doc-zh) - + [Apache Spark 官方文档中文版](https://apachecn.github.io/spark-doc-zh) - + [Apache Kafka 官方文档中文版](https://apachecn.github.io/kafka-site-zh) - + [Spring Boot 1.5.2 中文文档](https://apachecn.github.io/spring-boot-doc-zh) - + [Storm 1.1.0 中文文档](https://apachecn.github.io/storm-doc-zh) - + [Zeppelin 0.7.2 中文文档](https://apachecn.github.io/zeppelin-doc-zh) -+ 工具 - + [JavaTPoint 实用工具中文教程📚](https://apachecn.github.io/javatpoint-util-zh) - + [ApacheCN DevOps 译文集📚](https://apachecn.github.io/apachecn-devops-zh) - + [ApacheCN DevOps 译文集(二)📚](https://apachecn.github.io/apachecn-devops-zh-pt2) - + [ApacheCN DevOps 译文集(三)📚](https://apachecn.github.io/apachecn-devops-zh-pt3) - + [ApacheCN DevOps 译文集(四)📚](https://apachecn.github.io/apachecn-devops-zh-pt4) - + [ApacheCN DevOps 译文集(五)📚](https://apachecn.github.io/apachecn-devops-zh-pt5) - + [ApacheCN Linux 译文集📚](https://apachecn.github.io/apachecn-linux-zh) - + [ApacheCN Linux 译文集(二)📚](https://apachecn.github.io/apachecn-linux-zh-pt2) - + [ApacheCN Linux 译文集(三)📚](https://apachecn.github.io/apachecn-linux-zh-pt3) - + [Cython 3.0 中文文档🚧](https://apachecn.github.io/cython-doc-zh) - + [Git 中文参考🚧](https://apachecn.github.io/git-doc-zh) - + [Gitlab 中文文档🚧](https://apachecn.github.io/gitlab-doc-zh) - + [笨办法学 Linux 中文版](https://apachecn.github.io/llthw-zh) - + [Numba 0.44 中文文档🚧](https://apachecn.github.io/numba-doc-zh) - + [PyQt4 中文文档🚧](https://apachecn.github.io/pyqt4-doc-zh) - + [Scrapy 1.6 中文文档](https://apachecn.github.io/scrapy-doc-zh) -+ 数据科学 - + [ApacheCN 数据科学译文集📚](https://apachecn.github.io/apachecn-ds-zh) - + [ApacheCN 数据科学译文集(二)📚](https://apachecn.github.io/apachecn-ds-zh-pt2) - + [ApacheCN 数据科学译文集(三)📚](https://apachecn.github.io/apachecn-ds-zh-pt3) - + [ApacheCN 数据科学译文集📚](https://apachecn.github.io/apachecn-ds-zh) - + [MIT 18.03 面向初学者的微积分🚧](https://apachecn.github.io/calc4b-zh) - + [UCB Data8 计算与推断思维](https://apachecn.github.io/data8-textbook-zh) - + [数据可视化的基础知识](https://apachecn.github.io/dataviz-zh) - + [数据科学和人工智能技术笔记](https://apachecn.github.io/ds-ai-tech-notes) - + [数据科学 IPython 笔记本📚](https://apachecn.github.io/ds-ipynb-zh) - + [UCB DS100 数据科学的原理与技巧🚧](https://apachecn.github.io/ds100-textbook-zh) - + [ApacheCN 数据科学和人工智能知识库](https://apachecn.github.io/dsai-wiki) - + [Matplotlib 用户指南](https://apachecn.github.io/matplotlib-doc-zh) - + [MIT 18.06 线性代数笔记](https://apachecn.github.io/mit-18.06-linalg-notes) - + [利用 Python 进行数据分析 · 第 2 版](https://apachecn.github.io/pyda-2e-zh) - + [QuantLearning](https://apachecn.github.io/quant-learning) - + [seaborn 0.9 中文文档](https://apachecn.github.io/seaborn-doc-zh) - + [社交媒体挖掘 - 翻译版](https://apachecn.github.io/socialmediamining-zh) - + [斯坦福 Stats60 21 世纪的统计思维🚧](https://apachecn.github.io/stats-thinking-21-zh) - + [复杂性思维 中文第二版](https://apachecn.github.io/think-comp-2e-zh) - + [PyMiner 开发者指南](https://apachecn.github.io/pyminer-dev-guide) -+ 人工智能 - + [JavaTPoint 数据科学与人工智能中文教程📚](https://apachecn.github.io/javatpoint-dsai-zh) - + [GeeksForGeeks 人工智能中文教程📚](https://apachecn.github.io/geeksforgeeks-ai-zh) - + [AILearning📚](https://apachecn.github.io/ailearning) - + [ApacheCN 计算机视觉译文集📚](https://apachecn.github.io/apachecn-cv-zh) - + [ApacheCN 计算机视觉译文集(二)📚](https://apachecn.github.io/apachecn-cv-zh-pt2) - + [ApacheCN 深度学习译文集📚](https://apachecn.github.io/apachecn-dl-zh) - + [ApacheCN 深度学习译文集(二)📚](https://apachecn.github.io/apachecn-dl-zh-pt2) - + [ApacheCN 深度学习译文集(三)📚](https://apachecn.github.io/apachecn-dl-zh-pt3) - + [ApacheCN 机器学习译文集📚](https://apachecn.github.io/apachecn-ml-zh) - + [ApacheCN 机器学习译文集(二)📚](https://apachecn.github.io/apachecn-ml-zh-pt2) - + [ApacheCN 机器学习译文集(三)📚](https://apachecn.github.io/apachecn-ml-zh-pt3) - + [FastText 中文文档](https://apachecn.github.io/fasttext-doc-zh) - + [面向机器学习的特征工程](https://apachecn.github.io/fe4ml-zh) - + [Gensim 中文文档](https://apachecn.github.io/gensim-doc-zh) - + [Sklearn 与 TensorFlow 机器学习实用指南第二版](https://apachecn.github.io/hands-on-ml-2e-zh) - + [LightGBM 中文文档](https://apachecn.github.io/lightgbm-doc-zh) - + [Machine Learning Mastery 博客文章翻译📚🚧](https://apachecn.github.io/ml-mastery-zh) - + [Machine Learning Mastery 博客文章翻译(二)📚🚧](https://apachecn.github.io/ml-mastery-zh-pt2) - + [Python 自然语言处理 第二版](https://apachecn.github.io/nlp-py-2e-zh) - + [PyTorch 自然语言处理](https://apachecn.github.io/nlp-pytorch-zh) - + [台湾大学林轩田机器学习笔记](https://apachecn.github.io/ntu-hsuantienlin-ml) - + [OpenCV 中文文档 4.0.0](https://apachecn.github.io/opencv-doc-zh) - + [PythonProgramming.net 系列教程📚](https://apachecn.github.io/python-programming-net-zh) - + [PyTorch 中文教程](https://apachecn.github.io/pytorch-doc-zh) - + [scikit-learn (sklearn) 官方文档中文版](https://apachecn.github.io/sklearn-doc-zh) - + [XGBoost 中文文档](https://apachecn.github.io/xgboost-doc-zh) -+ 计算机科学 - + [JavaTPoint 计算机科学中文教程📚](https://apachecn.github.io/javatpoint-cs-zh) - + [ApacheCN 数据结构与算法译文集📚](https://apachecn.github.io/apachecn-algo-zh) - + [ApacheCN 计算机系统译文集📚](https://apachecn.github.io/apachecn-sys-zh) - + [NUS CS1101s SICP JavaScript 描述🚧](https://apachecn.github.io/sicp-js-zh) - + [UCB CS61a SICP Python 描述](https://apachecn.github.io/sicp-py-zh) - + [数据结构思维中文版](https://apachecn.github.io/think-dast-zh) - + [UIUC CS241 系统编程中文讲义🚧](https://apachecn.github.io/uiuc-cs241-notes-zh) -+ 安全 - + [ApacheCN Kali Linux 译文集📚](https://apachecn.github.io/apachecn-kali-zh) - + [ApacheCN 网络安全译文集📚](https://apachecn.github.io/apachecn-sec-zh) - + [ApacheCN 网络安全译文集(二)📚](https://apachecn.github.io/apachecn-sec-zh-pt2) - + [SecLearning——零组文库备份📚](https://apachecn.github.io/sec-learning) - + [ApacheCN 安全知识库📚](https://apachecn.github.io/sec-wiki) - + [Web Hacking 101 中文版](https://apachecn.github.io/web-hacking-101-zh) -+ 其它 - + [生化环材劝退文集](https://apachecn.github.io/bio-chem-env-mat-discourage) - + [5 分钟商学院精细笔记](https://apachecn.github.io/business-5min-notes) - + [iBooker 布客](https://apachecn.github.io/home) - + [iBooker 布客老实人报](https://apachecn.github.io/ibooker-plain-dealer) - + [使用 Qiskit 学习量子计算 - 翻译版](https://apachecn.github.io/lqcuq-zh) - + [原则 · 中文版](https://apachecn.github.io/principles-zh) - + [斯坦福 CS183 & YC 创业课系列中文笔记📚](https://apachecn.github.io/stanford-cs183-notes) - + [iBooker 团队知识库📚](https://apachecn.github.io/team-wiki) - + [ApacheCN 技术评论](https://apachecn.github.io/tech-review) - + [通往财富自由之路精细笔记](https://apachecn.github.io/the-way-to-wealth-freedom-notes) diff --git a/README.md b/README.md index 3bb1958c7..54c60e39d 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,31 @@ -# ApacheCN 数据结构与算法译文集 +# Algorithms -> 协议:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) -> -> 程序员的双手是魔术师的双手,他们把枯燥无味的代码变成了丰富多彩的软件。——《疯狂的程序员》 +## 1. [LeetCode 题解和总结](/docs/Leetcode_Solutions/) -* [在线阅读](https://algo.apachecn.org) -* [在线阅读(Gitee)](https://apachecn.gitee.io/apachecn-algo-zh/) -* [ApacheCN 学习资源](http://docs.apachecn.org/) +## 2. [面试问答](/docs/Interview/) -## 目录 +* [Google 面试题](/docs/interview/Google/Google.md) +* [pocketgems 面试题](/docs/interview/pocketgems/pocketgems.md) +* [WePay 面试题](/docs/interview/WePay/WePay.md) +* [拍拍贷面试题](/docs/interview/拍拍贷/paipaidai.md) -+ [数据结构思维中文版](docs/think-dast-zh/SUMMARY.md) -+ [Leetcode C++ 题解](docs/leetcode/cpp/SUMMARY.md) -+ [Leetcode Java 题解](docs/leetcode/java/SUMMARY.md) -+ [Leetcode JavaScript 题解](docs/leetcode/javascript/SUMMARY.md) -+ [Leetcode Python 题解](docs/leetcode/python/SUMMARY.md) -+ [剑指 Offer Java 题解](docs/jianzhioffer/java/SUMMARY.md) +## 3. [算法模版](/docs/Algorithm_Templates/) -## 贡献指南 -为了不断改进翻译质量,我们特此启动了【翻译、校对、笔记整理活动】,开设了多个校对项目。贡献者校对一章之后可以领取千字2\~4元的奖励。进行中的校对活动请见[活动列表](https://home.apachecn.org/#/docs/activity/docs-activity)。更多详情请联系飞龙(Q562826179,V:wizardforcel)。 +## 推荐的一些LeetCode网站 -## 联系方式 +1. [KrisYu的GItuhub](https://github.com/KrisYu/LeetCode-CLRS-Python) +2. [kamyu104的Github](https://github.com/kamyu104/LeetCode) +3. [数据结构与算法/leetcode/lintcode题解](https://algorithm.yuanbin.me/zh-hans/) +4. [Leetcode 讨论区](https://discuss.leetcode.com/) +5. [visualgo算法可视化网站](https://visualgo.net/en) +6. [Data Structure Visualization](https://www.cs.usfca.edu/~galles/visualization/Algorithms.html) +7. [我的算法学习之路 - Lucida](http://zh.lucida.me/blog/on-learning-algorithms/) +8. [HiredInTech](https://www.hiredintech.com/) System Design 的总结特别适合入门 +9. [mitcc的Github](https://github.com/mitcc/AlgoSolutions) +10. [小土刀的面试刷题笔记](http://wdxtub.com/interview/14520594642530.html) -### 负责人 -* [飞龙](https://github.com/wizardforcel): 562826179 +### Please note, this repository is inspired from [KrisYu](https://github.com/KrisYu/LeetCode-CLRS-Python). However, it has been modified, added and improved to reflect our knowledge, wisdom and effort. -### 其他 - -* 在我们的 [apachecn/apachecn-algo-zh](https://github.com/apachecn/apachecn-algo-zh) github 上提 issue. -* 发邮件到 Email: `apachecn@163.com`. -* 在我们的 [组织学习交流群](http://www.apachecn.org/organization/348.html) 中联系群主/管理员即可. - -## 下载 - -### Docker - -``` -docker pull apachecn0/apachecn-algo-zh -docker run -tid -p :80 apachecn0/apachecn-algo-zh -# 访问 http://localhost:{port} 查看文档 -``` - -### PYPI - -``` -pip install apachecn-algo-zh -apachecn-algo-zh -# 访问 http://localhost:{port} 查看文档 -``` - -### NPM - -``` -npm install -g apachecn-algo-zh -apachecn-algo-zh -# 访问 http://localhost:{port} 查看文档 -``` - -## 赞助我们 - -![](http://data.apachecn.org/img/about/donate.jpg) + - 💪就是干! diff --git a/SUMMARY.md b/SUMMARY.md deleted file mode 100644 index 24fbf429f..000000000 --- a/SUMMARY.md +++ /dev/null @@ -1,651 +0,0 @@ -+ [数据结构思维中文版](docs/think-dast-zh/README.md) - + [前言](docs/think-dast-zh/0.md) - + [第一章 接口](docs/think-dast-zh/1.md) - + [第二章 算法分析](docs/think-dast-zh/2.md) - + [第三章 `ArrayList`](docs/think-dast-zh/3.md) - + [第四章 `LinkedList`](docs/think-dast-zh/4.md) - + [第五章 双链表](docs/think-dast-zh/5.md) - + [第六章 树的遍历](docs/think-dast-zh/6.md) - + [第七章 到达哲学](docs/think-dast-zh/7.md) - + [第八章 索引器](docs/think-dast-zh/8.md) - + [第九章 `Map`接口](docs/think-dast-zh/9.md) - + [第十章 哈希](docs/think-dast-zh/10.md) - + [第十一章 `HashMap`](docs/think-dast-zh/11.md) - + [第十二章 `TreeMap`](docs/think-dast-zh/12.md) - + [第十三章 二叉搜索树](docs/think-dast-zh/13.md) - + [第十四章 持久化](docs/think-dast-zh/14.md) - + [第十五章 爬取维基百科](docs/think-dast-zh/15.md) - + [第十六章 布尔搜索](docs/think-dast-zh/16.md) - + [第十七章 排序](docs/think-dast-zh/17.md) -+ [Leetcode C++ 题解](docs/leetcode/cpp/README.md) - + [1. Two Sum](docs/leetcode/cpp/0001._Two_Sum.md) - + [2. Add Two Numbers](docs/leetcode/cpp/0002._Add_Two_Numbers.md) - + [3. Longest Substring Without Repeating Characters](docs/leetcode/cpp/0003._Longest_Substring_Without_Repeating_Characters.md) - + [004. Median of Two Sorted Arrays](docs/leetcode/cpp/0004._Median_of_Two_Sorted_Arrays.md) - + [5. Longest Palindromic Substring](docs/leetcode/cpp/0005._Longest_Palindromic_Substring.md) - + [6. ZigZag Conversion](docs/leetcode/cpp/0006._ZigZag_Conversion.md) - + [7. Reverse Integer](docs/leetcode/cpp/0007._Reverse_Integer.md) - + [8. String to Integer (atoi)](docs/leetcode/cpp/0008._String_to_Integer_(atoi).md) - + [9. Palindrome Number](docs/leetcode/cpp/0009._Palindrome_Number.md) - + [10. Regular Expression Matching](docs/leetcode/cpp/0010._Regular_Expression_Matching.md) - + [11. container with most water](docs/leetcode/cpp/0011._Container_With_Most_Water.md) - + [12. Integer to Roman](docs/leetcode/cpp/0012._Integer_to_Roman.md) - + [14. Longest Common Prefix](docs/leetcode/cpp/0014._Longest_Common_Prefix.md) - + [15. 3sum](docs/leetcode/cpp/0015._3sum.md) - + [16. 3Sum Closest](docs/leetcode/cpp/0016._3Sum_Closest.md) - + [17. Letter Combinations of a Phone Number](docs/leetcode/cpp/0017._Letter_Combinations_of_a_Phone_Number.md) - + [18. 4Sum](docs/leetcode/cpp/0018._4Sum.md) - + [19. Remove Nth Node From End of List](docs/leetcode/cpp/0019._Remove_Nth_Node_From_End_of_List.md) - + [20. Valid Parentheses](docs/leetcode/cpp/0020._Valid_Parentheses.md) - + [21. Merge Two Sorted Lists](docs/leetcode/cpp/0021._Merge_Two_Sorted_Lists.md) - + [22. Generate Parentheses](docs/leetcode/cpp/0022._Generate_Parentheses.md) - + [23. merge k sorted lists](docs/leetcode/cpp/0023._Merge_K_Sorted_Lists.md) - + [24. Swap Nodes in Pairs](docs/leetcode/cpp/0024._Swap_Nodes_in_Pairs.md) - + [25.reverse nodes in k group](docs/leetcode/cpp/0025._Reverse_Nodes_In_K_Group.md) - + [26.Remove Duplicates From Sorted Array](docs/leetcode/cpp/0026._Remove_Duplicates_From_Sorted_Array.md) - + [27.Remove Element](docs/leetcode/cpp/0027._Remove_Element.md) - + [28.implement strstr](docs/leetcode/cpp/0028._Implement_Strstr.md) - + [29.divide two integers](docs/leetcode/cpp/0029._Divide_Two_Integers.md) - + [30.substring with concatenation of all words](docs/leetcode/cpp/0030._Substring_With_Concatenation_Of_All_Words.md) - + [31.Next Permutatio](docs/leetcode/cpp/0031._Next_Permutatio.md) - + [32. Longest Valid Parentheses](docs/leetcode/cpp/0032._Longest_Valid_Parentheses.md) - + [033. Search in Rotated Sorted Array](docs/leetcode/cpp/0033._Search_in_Rotated_Sorted_Array.md) - + [34. Find First and Last Position of Element in Sorted Array](docs/leetcode/cpp/0034._Find_First_and_Last_Position_of_Element_in_Sorted_Array.md) - + [???????](docs/leetcode/cpp/0035._Search_Insert_Position.md) - + [36. Valid Sudoku](docs/leetcode/cpp/0036._Valid_Sudoku.md) - + [38. Count and Say](docs/leetcode/cpp/0038._Count_and_Say.md) - + [39. Combination Sum](docs/leetcode/cpp/0039._Combination_Sum.md) - + [40. Combination Sum II](docs/leetcode/cpp/0040._Combination_Sum_II.md) - + [041.First Missing Positive](docs/leetcode/cpp/0041._First_Missing_Positive.md) - + [42. Trapping Rain Water](docs/leetcode/cpp/0042._Trapping_Rain_Water.md) - + [43. Multiply Strings](docs/leetcode/cpp/0043._Multiply_Strings.md) - + [44. Wildcard Matching](docs/leetcode/cpp/0044._Wildcard_Matching.md) - + [045. Jump Game II](docs/leetcode/cpp/0045._Jump_Game_II.md) - + [46. Permutations](docs/leetcode/cpp/0046._Permutations.md) - + [47. Permutations II](docs/leetcode/cpp/0047._Permutations_II.md) - + [49. Group Anagrams](docs/leetcode/cpp/0048._Rotate_Image.md) - + [49. Group Anagrams](docs/leetcode/cpp/0049._Group_Anagrams.md) - + [50. powx n](docs/leetcode/cpp/0050._powx_n.md) - + [51. N-Queens](docs/leetcode/cpp/0051._N-Queens.md) - + [52. N-Queens II](docs/leetcode/cpp/0052._N-Queens_II.md) - + [053. Maximum Subarray](docs/leetcode/cpp/0053._Maximum_Subarray.md) - + [54. Spiral Matrix](docs/leetcode/cpp/0054._Spiral_Matrix.md) - + [55. Jump Game](docs/leetcode/cpp/0055._Jump_Game.md) - + [56. Merge Intervals](docs/leetcode/cpp/0056._Merge_Intervals.md) - + [57. Insert Interval](docs/leetcode/cpp/0057._Insert_Interval.md) - + [058. Length of Last Word](docs/leetcode/cpp/0058._Length_of_Last_Word.md) - + [59. Spiral Matrix II](docs/leetcode/cpp/0059._Spiral_Matrix_II.md) - + [60. Permutation Sequence](docs/leetcode/cpp/0060._Permutation_Sequence.md) - + [61. Rotate List](docs/leetcode/cpp/0061._Rotate_List.md) - + [62. Unique Paths](docs/leetcode/cpp/0062._Unique_Paths.md) - + [63. Unique Paths II](docs/leetcode/cpp/0063._Unique_Paths_II.md) - + [64. Minimum Path Sum](docs/leetcode/cpp/0064._Minimum_Path_Sum.md) - + [65. Valid Number](docs/leetcode/cpp/0065._Valid_Number.md) - + [66. Plus One](docs/leetcode/cpp/0066._Plus_One.md) - + [68. Text Justification](docs/leetcode/cpp/0068._Text_Justification.md) - + [69. Sqrt(x)](docs/leetcode/cpp/0069._Sqr(x).md) - + [72. Edit Distance](docs/leetcode/cpp/0072._Edit_Distance.md) - + [75. Sort Colors](docs/leetcode/cpp/0075._Sort_Colors.md) - + [76. Minimum Window Substring](docs/leetcode/cpp/0076._Minimum_Window_Substring.md) - + [77. Combinations](docs/leetcode/cpp/0077._combinations.md) - + [78. Subsets](docs/leetcode/cpp/0078._subsets.md) - + [81. Search in Rotated Sorted Array II](docs/leetcode/cpp/0081._Search_in_Rotated_Sorted_Array_II.md) - + [???????](docs/leetcode/cpp/0083._Remove_Duplicates_From_Sorted_Lists.md) - + [84. Largest Rectangle in Histogram](docs/leetcode/cpp/0084._Largest_Rectangle_in_Histogram.md) - + [85. Maximal Rectangle](docs/leetcode/cpp/0085._Maximal_Rectangle.md) - + [87. Scramble String](docs/leetcode/cpp/0087._Scramble_String.md) - + [88.Merge Sorted Array](docs/leetcode/cpp/0088._Merge_Sorted_Array.md) - + [90. Subsets II](docs/leetcode/cpp/0090._Subsets_II.md) - + [94. Binary Tree Inorder Traversal](docs/leetcode/cpp/0094._binary_tree_inorder_traversal.md) - + [96. Unique Binary Search Trees](docs/leetcode/cpp/0096._Unique_Binary_Search_Trees.md) - + [97. Interleaving String](docs/leetcode/cpp/0097._Interleaving_String.md) - + [99. Recover Binary Search Tree](docs/leetcode/cpp/0099._Recover_Binary_Search_Tree.md) - + [100. same tree](docs/leetcode/cpp/0100._same_tree.md) - + [101. Symmetric Tree](docs/leetcode/cpp/0101._Symmetric_Tree.md) - + [102. Binary Tree Level Order Traversal](docs/leetcode/cpp/0102._Binary_Tree_Level_Order_Traversal.md) - + [104. Maximum Depth of Binary Tree](docs/leetcode/cpp/0104._Maximum_Depth_of_Binary_Tree.md) - + [105. Construct Binary Tree from Preorder and Inorder Traversal](docs/leetcode/cpp/0105._Construct_Binary_Tree_from_Preorder_and_Inorder_Traversal.md) - + [106. Construct Binary Tree from Inorder and Postorder Traversal](docs/leetcode/cpp/0106._Construct_Binary_Tree_from_Inorder_and_Postorder_Traversal.md) - + [107.Binary Tree Level Order Traversal II](docs/leetcode/cpp/0107._Binary_Tree_Level_Order_Traversal_II.md) - + [108. Convert Sorted Array to Binary Search Tree](docs/leetcode/cpp/0108._Convert_Sorted_Array_to_Binary_Search_Tree.md) - + [109. Convert Sorted List to Binary Search Tree](docs/leetcode/cpp/0109._Convert_Sorted_List_to_Binary_Search_Tree.md) - + [110.Balanced Binary Tree](docs/leetcode/cpp/0110._Balanced_Binary_Tree.md) - + [111. Minimum Depth of Binary Tree](docs/leetcode/cpp/0111._Minimum_Depth_Of_Binary_Tree.md) - + [112. Path Sum](docs/leetcode/cpp/0112._Path_Sum.md) - + [114. Flatten Binary Tree to Linked List](docs/leetcode/cpp/0114._Flatten_Binary_Tree_to_Linked_List.md) - + [115.Distinct Subsequences](docs/leetcode/cpp/0115._Distinct_Subsequences.md) - + [118. Pascal's Triangle](docs/leetcode/cpp/0118._Pascals_Triangle.md) - + [119. Pascal's Triangle II](docs/leetcode/cpp/0119._Pascals_Triangle-II.md) - + [120. Triangle](docs/leetcode/cpp/0120._Triangle.md) - + [121. Best Time to Buy and Sell Stock](docs/leetcode/cpp/0121._Best_Tim_to_Buy_and_Sell_Stock.md) - + [122. Best Time to Buy and Sell Stock II](docs/leetcode/cpp/0122._Best_Time_to_Buy_and_Sell_Stock_II.md) - + [123. Best Time to Buy and Sell Stock III](docs/leetcode/cpp/0123._Best_Time_to_Buy_and_Sell_Stock_III.md) - + [124. Binary Tree Maximum Path Sum](docs/leetcode/cpp/0124._Binary_Tree_Maximum_Path_Sum.md) - + [127. Word Ladder](docs/leetcode/cpp/0127._Word_Ladde.md) - + [128. Longest Consecutive Sequence](docs/leetcode/cpp/0128._Longest_Consecutive_Sequence.md) - + [129. Sum Root to Leaf Numbers](docs/leetcode/cpp/0129._Sum_Root_to_Leaf_Numbers.md) - + [131. Palindrome Paritionaing](docs/leetcode/cpp/0131._Palindrome_Partitioning.md) - + [136. Single Numbe](docs/leetcode/cpp/0136._Single_Numbe.md) - + [137.Single Number II](docs/leetcode/cpp/0137._Single_Number_II.md) - + [???????](docs/leetcode/cpp/0141._Linked_List_Cycle.md) - + [142. linked list cycle II](docs/leetcode/cpp/0142._Linked_List_Cycle_II.md) - + [144. Binary Tree Preorder Traversal](docs/leetcode/cpp/0144._Binary_Tree_Preorder_Traversal.md) - + [145. Binary Tree Postorder Traversal](docs/leetcode/cpp/0145._Binary_Tree_Postorder_Traversal.md) - + [147. Insertion Sort List](docs/leetcode/cpp/0147._Insert_on_Sort_List.md) - + [148.Sort list](docs/leetcode/cpp/0148._Sort_list.md) - + [151. Reverse Words in a String](docs/leetcode/cpp/0151._Reverse_Words_in_a_String.md) - + [153. Find Minimum in Rotated Sorted Array](docs/leetcode/cpp/0153._Find_Minimum_in_Rotated_Sorted_Array.md) - + [154. Find Minimum in Rotated Sorted Array II](docs/leetcode/cpp/0154._Find_Minimum_in_Rotated_Sorted_Array-II.md) - + [160 intersection_of_Two_Linked_Lists](docs/leetcode/cpp/0160._Intersection_Of_Two_Linked_Lists.md) - + [164. Maximum Gap](docs/leetcode/cpp/0164._Maximum_Gap.md) - + [166. Fraction to Recurring Decimal](docs/leetcode/cpp/0166._Fraction_to_Recurring_Decimal.md) - + [167. Two Sum II - Input array is sorted](docs/leetcode/cpp/0167._Two_Sum_II-Input_array_is_sorted.md) - + [199. Binary Tree Right Side View](docs/leetcode/cpp/0199._Binary_Tree_Right_Side_View.md) - + [216. Combination Sum III](docs/leetcode/cpp/0216._Combination_Sum_III.md) - + [230. Kth Smallest Element in a BST](docs/leetcode/cpp/0230._Kth_Smallest_Element_in_a_BST.md) - + [260. Single Number III](docs/leetcode/cpp/0260._Single_Number_III.md) - + [287. Find the Duplicate Number](docs/leetcode/cpp/0287._Find_the_Duplicate_Number.md) - + [326. Power_of_Three](docs/leetcode/cpp/0326._Power_Of_Three.md) - + [328. Odd Even Linked List](docs/leetcode/cpp/0328._Odd_Even_Linked_List.md) - + [329. Longest Increasing Path in a Matrix](docs/leetcode/cpp/0329._Longest_Increasing_Path_in_a_Matrix.md) - + [338. Counting Bits ](docs/leetcode/cpp/0338._Counting_Bits.md) - + [413. Arithmetic Slices](docs/leetcode/cpp/0413._Arithmetic_Slices.md) - + [442. Find All Duplicates in an Array](docs/leetcode/cpp/0442._Find_All_Duplicates_in_an_Array.md) - + [513. Find Bottom Left Tree Value](docs/leetcode/cpp/0513._Find_Bottom_Left_Tree_Value.md) - + [515. Find Largest Value in Each Tree Row](docs/leetcode/cpp/0515._Find_Largest_Value_in_Each_Tree_Row.md) - + [540. Single Element in a Sorted Array](docs/leetcode/cpp/0540._Single_Element_in_a_Sorted_Array.md) - + [581. Shortest Unsorted Continuous Subarray](docs/leetcode/cpp/0581._Shortest_Unsorted_Continuous_Subarray.md) - + [793. K Inverse Pairs Array](docs/leetcode/cpp/0629._K_Inverse_Pairs_Array.md) - + [632. Smallest Range](docs/leetcode/cpp/0632._Smallest_Range.md) - + [654. Maximum Binary Tree ](docs/leetcode/cpp/0654._maximum_binary_tree.md) - + [668. Kth Smallest Number in Multiplication Table](docs/leetcode/cpp/0668._Kth_Smallest_Number_in_Multiplication_Table.md) - + [701. Insert into a Binary Search Tree](docs/leetcode/cpp/0701._Insert_into_a_Binary_Search_Tree.md) - + [715. Range Module](docs/leetcode/cpp/0715._Range_Module.md) - + [793. Find K-th Smallest Pair Distance](docs/leetcode/cpp/0719._Find_K-th_Smallest_Pair_Distance.md) - + [739. Daily Temperatures](docs/leetcode/cpp/0739._Daily_Temperatures.md) - + [797. All Paths From Source to Target](docs/leetcode/cpp/0797._All_Paths_From_Source_To_Target.md) - + [814. Binary Tree Pruning](docs/leetcode/cpp/0814._Binary_Tree_Pruning.md) - + [841. Keys and Rooms](docs/leetcode/cpp/0841._Keys_and_Rooms.md) - + [877. Stone Game](docs/leetcode/cpp/0877._Stone_Game.md) - + [945. Minimum Increment to Make Array Unique](docs/leetcode/cpp/0945._Minimum_Increment_to_Make_Array_Unique.md) - + [946. Validate Stack Sequences](docs/leetcode/cpp/0946._Validate_Stack_Sequences.md) - + [947. Most Stones Removed with Same Row or Column](docs/leetcode/cpp/0947._Most_Stones_Removed_with_Same_Row_or_Column.md) - + [948. Bag of Tokens](docs/leetcode/cpp/0948._Bag_of_Tokens.md) - + [949. Largest Time for Given Digits](docs/leetcode/cpp/0949._Largest_Time_for_Given_Digits.md) - + [950. Reveal Cards In Increasing Order](docs/leetcode/cpp/0950._Reveal_Cards_In_Increasing_Order.md) - + [951. Flip Equivalent Binary Trees](docs/leetcode/cpp/0951._Flip_Equivalent_Binary_Trees.md) - + [952. Largest Component Size by Common Factor](docs/leetcode/cpp/0952._Largest_Component_Size_by_Common_Factor.md) -+ [Leetcode Java 题解](docs/leetcode/java/README.md) - + [1. Two Sum](docs/leetcode/java/0001._Two_Sum.md) - + [2. Add Two Numbers](docs/leetcode/java/0002._add_two_numbers.md) - + [3. Longest Substring Without Repeating Characters](docs/leetcode/java/0003._Longest_Substring_Without_Repeating_Characters.md) - + [4. Median of Two Sorted Arrays](docs/leetcode/java/0004._Median_of_Two_Sorted_Arrays.md) - + [5. Longest Palindromic Substring](docs/leetcode/java/0005._Longest_Palindromic_Substring.md) - + [6. ZigZag Conversion](docs/leetcode/java/0006._ZigZag_Conversion.md) - + [7. Reverse Integer](docs/leetcode/java/0007._Reverse_Integer.md) - + [23. Merge K Sorted Lists](docs/leetcode/java/0023._Merge_K_Sorted_Lists.md) - + [141. Linked List Cycle](docs/leetcode/java/0141._linked_list_cycle.md) - + [218. The Skyline Problem](docs/leetcode/java/0218._The_Skyline_Problem.md) - + [238. Product of Array Except Self](docs/leetcode/java/0238._product_of_array_except_self.md) - + [342. Power of Four](docs/leetcode/java/0342._Power_of_Four.md) - + [403. Frog Jump](docs/leetcode/java/0403._Frog_Jump.md) - + [757. Set Intersection Size At Least Two](docs/leetcode/java/0757._Set_Intersection_Size_At_Least_Two.md) - + [768. Max Chunks To Make Sorted II](docs/leetcode/java/0768._Max_Chunks_To_Make_Sorted_II.md) - + [780. Reaching Points](docs/leetcode/java/0780._Reaching_Points.md) - + [793. Preimage Size of Factorial Zeroes Function](docs/leetcode/java/0793._Preimage_Size_of_Factorial_Zeroes_Function.md) - + [827. Making A Large Island](docs/leetcode/java/0827._Making_A_Large_Island.md) - + [828. Unique Letter String](docs/leetcode/java/0828._Unique_Letter_String.md) - + [834. Sum of Distances in Tree](docs/leetcode/java/0834._Sum_of_Distances_in_Tree.md) - + [843. Guess the Word](docs/leetcode/java/0843._Guess_the_Word.md) - + [847. Shortest Path Visiting All Nodes](docs/leetcode/java/0847._Shortest_Path_Visiting_All_Nodes.md) - + [850. Rectangle Area II](docs/leetcode/java/0850._Rectangle_Area_II.md) - + [854. K-Similar Strings](docs/leetcode/java/0854._K-Similar_Strings.md) - + [857. Minimum Cost to Hire K Workers](docs/leetcode/java/0857._Minimum_Cost_to_Hire_K_Workers.md) - + [862. Shortest Subarray with Sum at Least K](docs/leetcode/java/0862._Shortest_Subarray_with_Sum_at_Least_K.md) - + [864. Shortest Path to Get All Keys](docs/leetcode/java/0864._Shortest_Path_to_Get_All_Keys.md) - + [871. Minimum Number of Refueling Stops](docs/leetcode/java/0871._Minimum_Number_of_Refueling_Stops.md) - + [878. Nth Magical Number](docs/leetcode/java/0878._Nth_Magical_Number.md) - + [879. Profitable Schemes](docs/leetcode/java/0879._Profitable_Schemes.md) - + [899. Reachable Nodes In Subdivided Graph](docs/leetcode/java/0882._Reachable_Nodes_In_Subdivided_Graph.md) - + [887. Super Egg Drop](docs/leetcode/java/0887._Super_Egg_Drop.md) - + [891. Sum of Subsequence Widths](docs/leetcode/java/0891._Sum_of_Subsequence_Widths.md) - + [895. Maximum Frequency Stack](docs/leetcode/java/0895._Maximum_Frequency_Stack.md) - + [899. Orderly Queue](docs/leetcode/java/0899._Orderly_Queue.md) - + [902. Numbers At Most N Given Digit Set](docs/leetcode/java/0902._Numbers_At_Most_N_Given_Digit_Set.md) - + [903. Valid Permutations for DI Sequence](docs/leetcode/java/0903._Valid_Permutations_for_DI_Sequence.md) - + [906. Super Palindromes](docs/leetcode/java/0906._Super_Palindromes.md) - + [913. Cat and Mouse](docs/leetcode/java/0913._Cat_and_Mouse.md) - + [920. Number of Music Playlists](docs/leetcode/java/0920._Number_of_Music_Playlists.md) -+ [Leetcode JavaScript 题解](docs/leetcode/javascript/README.md) - + [0001 Two Sum](docs/leetcode/javascript/0001._Two_Sum.md) - + [0002 Add Two Numbers](docs/leetcode/javascript/0002._Add_Two_Numbers.md) - + [0003 Longest Substring without Repeating Characters](docs/leetcode/javascript/0003._Longest_Substring_without_Repeating_Characters.md) - + [0007 Reverse Integer](docs/leetcode/javascript/0007._Reverse_Integer.md) - + [0008 String to Integer](docs/leetcode/javascript/0008._String_to_Integer.md) - + [0009 Palindrome Number](docs/leetcode/javascript/0009._Palindrome_Number.md) - + [0011 Container With Most Water](docs/leetcode/javascript/0011._Container_With_Most_Water.md) - + [0012 Integer To Roman](docs/leetcode/javascript/0012._Integer_To_Roman.md) - + [0013 Roman To Integer](docs/leetcode/javascript/0013._Roman_To_Integer.md) - + [0014 Longest Common Prefix](docs/leetcode/javascript/0014._Longest_Common_Prefix.md) - + [0015 Three Sum](docs/leetcode/javascript/0015._Three_Sum.md) - + [0016 3 Sum Closest](docs/leetcode/javascript/0016._3_Sum_Closest.md) - + [0017 Letter Combinations Of A Phone Number](docs/leetcode/javascript/0017._Letter_Combinations_Of_A_Phone_Number.md) - + [0019 Remove Nth Node From End Of List](docs/leetcode/javascript/0019._Remove_Nth_Node_From_End_Of_List.md) - + [0020 Valid Parentheses](docs/leetcode/javascript/0020._Valid_Parentheses.md) - + [0021 Merge Two Sorted Lists](docs/leetcode/javascript/0021._Merge_Two_Sorted_Lists.md) - + [0022 Generate Parentheses](docs/leetcode/javascript/0022._Generate_Parentheses.md) - + [0024 Swap Nodes In Pairs](docs/leetcode/javascript/0024._Swap_Nodes_In_Pairs.md) - + [0027 Remove Element](docs/leetcode/javascript/0027._Remove_Element.md) - + [0031 Next Permutation](docs/leetcode/javascript/0031._Next_Permutation.md) - + [0035 Search Insert Position](docs/leetcode/javascript/0035._Search_Insert_Position.md) - + [0054 Spiral Matrix](docs/leetcode/javascript/0054._Spiral_Matrix.md) - + [0055 Jump Game](docs/leetcode/javascript/0055._Jump_Game.md) - + [0056 Merge Intervals](docs/leetcode/javascript/0056._Merge_Intervals.md) - + [0058 Length of Last Word](docs/leetcode/javascript/0058._Length_of_Last_Word.md) - + [0061 Rotate List](docs/leetcode/javascript/0061._Rotate_List.md) - + [0062 Unique Paths](docs/leetcode/javascript/0062._Unique_Paths.md) - + [0066 Plus One](docs/leetcode/javascript/0066._Plus_One.md) - + [0067 Add Binary](docs/leetcode/javascript/0067._Add_Binary.md) - + [0074 Search a 2D Matrix](docs/leetcode/javascript/0074._Search_a_2D_Matrix.md) - + [0079 Search Word](docs/leetcode/javascript/0079._Search_Word.md) - + [0083 Remove Duplicates From Sorted List](docs/leetcode/javascript/0083._Remove_Duplicates_From_Sorted_List.md) - + [0094 Binary Tree Inorder Traversal](docs/leetcode/javascript/0094._Binary_Tree_Inorder_Traversal.md) - + [0098 Validate Binary Search Tree](docs/leetcode/javascript/0098._Validate_Binary_Search_Tree.md) - + [0100 Same Tree](docs/leetcode/javascript/0100._Same_Tree.md) - + [0101 Symmetric Tree](docs/leetcode/javascript/0101._Symmetric_Tree.md) - + [0104 Maximum Depth of Binary Tree](docs/leetcode/javascript/0104._Maximum_Depth_of_Binary_Tree.md) - + [0106 Construct Binary Tree From Inorder And Postorder Traversal](docs/leetcode/javascript/0106._Construct_Binary_Tree_From_Inorder_And_Postorder_Traversal.md) - + [0141 Linked List Cycle](docs/leetcode/javascript/0141._Linked_List_Cycle.md) - + [0146 LRU Cache](docs/leetcode/javascript/0146._LRU_Cache.md) - + [0167 Two Sum II - Input array is sorted](docs/leetcode/javascript/0167._Two_Sum_II_-_Input_array_is_sorted.md) - + [0167 Two Sum II Input Array is Sorted](docs/leetcode/javascript/0167._Two_Sum_II_Input_Array_is_Sorted.md) - + [0171 Excel Sheet Column Number](docs/leetcode/javascript/0171._Excel_Sheet_Column_Number.md) - + [0179 Largest Number](docs/leetcode/javascript/0179._Largest_Number.md) - + [0203 Remove Linked List Elements](docs/leetcode/javascript/0203._Remove_Linked_List_Elements.md) - + [0206 Reverse-Linked-List](docs/leetcode/javascript/0206._Reverse-Linked-List.md) - + [0209 Minimum Size Subarray Sum](docs/leetcode/javascript/0209._Minimum_Size_Subarray_Sum.md) - + [0258 Add Digits](docs/leetcode/javascript/0258._Add_Digits.md) - + [0347 Top K Frequent Elements](docs/leetcode/javascript/0347._Top_K_Frequent_Elements.md) - + [0402 Remove K Digits](docs/leetcode/javascript/0402._Remove_K_Digits.md) - + [0406 Queue Reconstruction By Height](docs/leetcode/javascript/0406._Queue_Reconstruction_By_Height.md) - + [0485 Max Consecutive Ones](docs/leetcode/javascript/0485._Max_Consecutive_Ones.md) - + [0539 Minimum Time Difference](docs/leetcode/javascript/0539._Minimum_Time_Difference.md) - + [0581 Shortest Unsorted Continuous Subarray](docs/leetcode/javascript/0581._Shortest_Unsorted_Continuous_Subarray.md) - + [0881 Boats to Save People](docs/leetcode/javascript/0881._Boats_to_Save_People.md) - + [0997 Find The Town Judge](docs/leetcode/javascript/0997._Find_The_Town_Judge.md) - + [1130 Minimum Cost Tree From Leaf Values](docs/leetcode/javascript/1130._Minimum_Cost_Tree_From_Leaf_Values.md) -+ [Leetcode Python 题解](docs/leetcode/python/README.md) - + [001 two sum](docs/leetcode/python/001._two_sum.md) - + [002 add two numbers](docs/leetcode/python/002._add_two_numbers.md) - + [003 longest substring without repeating characters](docs/leetcode/python/003._longest_substring_without_repeating_characters.md) - + [004 median of two sorted arrays](docs/leetcode/python/004._median_of_two_sorted_arrays.md) - + [005 longest palindromic substring](docs/leetcode/python/005._longest_palindromic_substring.md) - + [006 ZigZag Conversion](docs/leetcode/python/006._ZigZag_Conversion.md) - + [007 Reverse Integer](docs/leetcode/python/007._Reverse_Integer.md) - + [008 string to integer (atoi)](docs/leetcode/python/008._string_to_integer_(atoi).md) - + [009 Palindrome Number](docs/leetcode/python/009._Palindrome_Number.md) - + [010 regular expression matching](docs/leetcode/python/010._regular_expression_matching.md) - + [011 container with most water](docs/leetcode/python/011._container_with_most_water.md) - + [012 Integer to Roman](docs/leetcode/python/012._Integer_to_Roman.md) - + [013 Roman to Integer](docs/leetcode/python/013._Roman_to_Integer.md) - + [014 longest common prefix](docs/leetcode/python/014._longest_common_prefix.md) - + [015 3sum](docs/leetcode/python/015._3sum.md) - + [016 3sum closest](docs/leetcode/python/016._3sum_closest.md) - + [017 letter combinations of a phone number](docs/leetcode/python/017._letter_combinations_of_a_phone_number.md) - + [018 4sum](docs/leetcode/python/018._4sum.md) - + [019 remove nth node from end of list](docs/leetcode/python/019._remove_nth_node_from_end_of_list.md) - + [020 valid parentheses](docs/leetcode/python/020._valid_parentheses.md) - + [021 merge two sorted lists](docs/leetcode/python/021._merge_two_sorted_lists.md) - + [022 generate parentheses](docs/leetcode/python/022._generate_parentheses.md) - + [023 merge k sorted lists](docs/leetcode/python/023._merge_k_sorted_lists.md) - + [024 swap nodes in pairs](docs/leetcode/python/024._swap_nodes_in_pairs.md) - + [026 Remove Duplicates from Sorted Array](docs/leetcode/python/026._Remove_Duplicates_from_Sorted_Array.md) - + [027 Remove Element](docs/leetcode/python/027._Remove_Element.md) - + [028 implement strstr()](docs/leetcode/python/028._implement_strstr.md) - + [030 Substring with Concatenation of All Words](docs/leetcode/python/030._Substring_with_Concatenation_of_All_Words.md) - + [031 next permutation](docs/leetcode/python/031._next_permutation.md) - + [032 longest valid parentheses](docs/leetcode/python/032._longest_valid_parentheses.md) - + [033 search in rotated sorted array](docs/leetcode/python/033._search_in_rotated_sorted_array.md) - + [034 Search for a Range](docs/leetcode/python/034._Search_for_a_Range.md) - + [035 search insert position](docs/leetcode/python/035._search_insert_position.md) - + [038 Count and Say](docs/leetcode/python/038._Count_and_Say.md) - + [039 combination sum](docs/leetcode/python/039._combination_sum.md) - + [040 combination sum ii](docs/leetcode/python/040._combination_sum_ii.md) - + [041 First Missing Positive](docs/leetcode/python/041._First_Missing_Positive.md) - + [042 trapping rain water](docs/leetcode/python/042._trapping_rain_water.md) - + [043 multiply strings](docs/leetcode/python/043._multiply_strings.md) - + [044 wildcard matching](docs/leetcode/python/044._wildcard_matching.md) - + [045 Jump Game II](docs/leetcode/python/045._Jump_Game_II.md) - + [046 permutations](docs/leetcode/python/046._permutations.md) - + [047 permutations ii](docs/leetcode/python/047._permutations_ii.md) - + [048 rotate image](docs/leetcode/python/048._rotate_image.md) - + [049 group anagrams python](docs/leetcode/python/049._group_anagrams_python.md) - + [050 pow(x, n)](docs/leetcode/python/050._pow(x,_n).md) - + [051 n-queens](docs/leetcode/python/051._n-queens.md) - + [052 n-queens ii](docs/leetcode/python/052._n-queens_ii.md) - + [053 maximum subarray](docs/leetcode/python/053._maximum_subarray.md) - + [054 spiral matrix](docs/leetcode/python/054._spiral_matrix.md) - + [055 jump game](docs/leetcode/python/055._jump_game.md) - + [056 Merge Intervals](docs/leetcode/python/056._Merge_Intervals.md) - + [058 length of last word](docs/leetcode/python/058._length_of_last_word.md) - + [059 spiral matrix ii](docs/leetcode/python/059._spiral_matrix_ii.md) - + [060 permutation sequence](docs/leetcode/python/060._permutation_sequence.md) - + [061 rotate list](docs/leetcode/python/061._rotate_list.md) - + [062 unique paths](docs/leetcode/python/062._unique_paths.md) - + [064 minimum path sum](docs/leetcode/python/064._minimum_path_sum.md) - + [065 unique paths ii](docs/leetcode/python/065.unique_paths_ii.md) - + [066 plus one](docs/leetcode/python/066._plus_one.md) - + [067 add binary](docs/leetcode/python/067._add_binary.md) - + [069 sqrt(x)](docs/leetcode/python/069._sqrt(x).md) - + [070 Climbing Stairs](docs/leetcode/python/070._Climbing_Stairs.md) - + [072 edit distance](docs/leetcode/python/072._edit_distance.md) - + [073 Set Matrix Zeroes](docs/leetcode/python/073._Set_Matrix_Zeroes.md) - + [074 search a 2d matrix](docs/leetcode/python/074._search_a_2d_matrix.md) - + [075 sort colors](docs/leetcode/python/075._sort_colors.md) - + [076 Minimum Window Substring](docs/leetcode/python/076._Minimum_Window_Substring.md) - + [077 combinations](docs/leetcode/python/077._combinations.md) - + [078 Subsets](docs/leetcode/python/078._Subsets.md) - + [079 word search](docs/leetcode/python/079._word_search.md) - + [082 remove duplicates from sorted list ii](docs/leetcode/python/082._remove_duplicates_from_sorted_list_ii.md) - + [083 remove duplicates from sorted list](docs/leetcode/python/083._remove_duplicates_from_sorted_list.md) - + [086 partition list](docs/leetcode/python/086._partition_list.md) - + [088 merge sorted array](docs/leetcode/python/088._merge_sorted_array.md) - + [089 gray code](docs/leetcode/python/089._gray_code.md) - + [090 subsets ii](docs/leetcode/python/090._subsets_ii.md) - + [091 decode ways](docs/leetcode/python/091._decode_ways.md) - + [092 reverse linked list ii](docs/leetcode/python/092._reverse_linked_list_ii.md) - + [093 restore ip addresses](docs/leetcode/python/093._restore_ip_addresses.md) - + [094 binary tree inorder traversal](docs/leetcode/python/094._binary_tree_inorder_traversal.md) - + [096 unique binary search trees](docs/leetcode/python/096._unique_binary_search_trees.md) - + [098 validate binary search tree](docs/leetcode/python/098._validate_binary_search_tree.md) - + [100 same tree](docs/leetcode/python/100._same_tree.md) - + [101 symmetric tree](docs/leetcode/python/101._symmetric_tree.md) - + [102 binary tree level order traversal](docs/leetcode/python/102._binary_tree_level_order_traversal.md) - + [103 binary tree zigzag level order traversal](docs/leetcode/python/103._binary_tree_zigzag_level_order_traversal.md) - + [104 maximum depth of binary tree](docs/leetcode/python/104._maximum_depth_of_binary_tree.md) - + [105 construct binary tree from preorder and inorder traversal](docs/leetcode/python/105._construct_binary_tree_from_preorder_and_inorder_traversal.md) - + [106 construct binary tree from inorder and postorder traversal](docs/leetcode/python/106._construct_binary_tree_from_inorder_and_postorder_traversal.md) - + [107 binary tree level order traversal ii](docs/leetcode/python/107._binary_tree_level_order_traversal_ii.md) - + [108 convert sorted array to binary search tree](docs/leetcode/python/108._convert_sorted_array_to_binary_search_tree.md) - + [109 convert sorted list to binary search tree](docs/leetcode/python/109._convert_sorted_list_to_binary_search_tree.md) - + [110 balanced binary tree](docs/leetcode/python/110._balanced_binary_tree.md) - + [111 minimum depth of binary tree](docs/leetcode/python/111._minimum_depth_of_binary_tree.md) - + [112 path sum](docs/leetcode/python/112._path_sum.md) - + [113 path sum ii](docs/leetcode/python/113._path_sum_ii.md) - + [114 flatten binary tree to linked list](docs/leetcode/python/114._flatten_binary_tree_to_linked_list.md) - + [116 populating next right pointers in each node](docs/leetcode/python/116._populating_next_right_pointers_in_each_node.md) - + [117 Populating Next Right Pointers in Each Node II](docs/leetcode/python/117._Populating_Next_Right_Pointers_in_Each_Node_II.md) - + [118 pascal's triangle](docs/leetcode/python/118._pascal's_triangle.md) - + [119 Pascal's Triangle II](docs/leetcode/python/119._Pascal's_Triangle_II.md) - + [120 Triangle](docs/leetcode/python/120._Triangle.md) - + [121 Best Time to Buy and Sell Stock](docs/leetcode/python/121._Best_Time_to_Buy_and_Sell_Stock.md) - + [124 Binary Tree Maximum Path Sum](docs/leetcode/python/124._Binary_Tree_Maximum_Path_Sum.md) - + [125 valid palindrome](docs/leetcode/python/125._valid_palindrome.md) - + [126 Word Ladder II](docs/leetcode/python/126._Word_Ladder_II.md) - + [127 word ladder](docs/leetcode/python/127._word_ladder.md) - + [128 Longest Consecutive Sequence](docs/leetcode/python/128._Longest_Consecutive_Sequence.md) - + [129 sum root to leaf numbers](docs/leetcode/python/129._sum_root_to_leaf_numbers.md) - + [130 surrounded regions](docs/leetcode/python/130._surrounded_regions.md) - + [131 palindrome partitioning](docs/leetcode/python/131._palindrome_partitioning.md) - + [133 clone graph](docs/leetcode/python/133._clone_graph.md) - + [136 single number](docs/leetcode/python/136._single_number.md) - + [139 word break](docs/leetcode/python/139._word_break.md) - + [140 word break ii](docs/leetcode/python/140._word_break_ii.md) - + [141 linked list cycle](docs/leetcode/python/141._linked_list_cycle.md) - + [142_Linked_List_Cycle_II md](docs/leetcode/python/142_Linked_List_Cycle_II.md) - + [143 reorder list](docs/leetcode/python/143._reorder_list.md) - + [144 binary tree preorder traversal](docs/leetcode/python/144._binary_tree_preorder_traversal.md) - + [145 binary tree postorder traversal](docs/leetcode/python/145._binary_tree_postorder_traversal.md) - + [147 insertion sort list](docs/leetcode/python/147._insertion_sort_list.md) - + [148 sort list](docs/leetcode/python/148._sort_list.md) - + [150 evaluate reverse polish notation](docs/leetcode/python/150._evaluate_reverse_polish_notation.md) - + [151 reverse words in a string](docs/leetcode/python/151._reverse_words_in_a_string.md) - + [152 maximum product subarray](docs/leetcode/python/152._maximum_product_subarray.md) - + [153 find minimum in rotated sorted array](docs/leetcode/python/153._find_minimum_in_rotated_sorted_array.md) - + [155 min stack](docs/leetcode/python/155._min_stack.md) - + [157 Read N Characters Given Read4](docs/leetcode/python/157._Read_N_Characters_Given_Read4.md) - + [158 Read N Characters Given Read4 II - Call multiple times](docs/leetcode/python/158._Read_N_Characters_Given_Read4_II_-_Call_multiple_times.md) - + [159 Longest Substring with At Most Two Distinct Characters](docs/leetcode/python/159._Longest_Substring_with_At_Most_Two_Distinct_Characters.md) - + [160 intersection of two linked lists](docs/leetcode/python/160._intersection_of_two_linked_lists.md) - + [162 find peak element](docs/leetcode/python/162._find_peak_element.md) - + [165 compare version numbers](docs/leetcode/python/165._compare_version_numbers.md) - + [166 Fraction to Recurring Decimal](docs/leetcode/python/166._Fraction_to_Recurring_Decimal.md) - + [167 two sum ii - input array is sorted](docs/leetcode/python/167._two_sum_ii_-_input_array_is_sorted.md) - + [168 excel sheet column title](docs/leetcode/python/168._excel_sheet_column_title.md) - + [169 majority element](docs/leetcode/python/169._majority_element.md) - + [171 excel sheet column number](docs/leetcode/python/171._excel_sheet_column_number.md) - + [173 binary search tree iterator](docs/leetcode/python/173._binary_search_tree_iterator.md) - + [179 Largest Number](docs/leetcode/python/179._Largest_Number.md) - + [182 duplicate emails](docs/leetcode/python/182._duplicate_emails.md) - + [189 rotate array](docs/leetcode/python/189._rotate_array.md) - + [191 number of 1 bits](docs/leetcode/python/191._number_of_1_bits.md) - + [198 house robber](docs/leetcode/python/198._house_robber.md) - + [199 binary tree right side view](docs/leetcode/python/199._binary_tree_right_side_view.md) - + [200 number of islands](docs/leetcode/python/200._number_of_islands.md) - + [203 remove linked list elements](docs/leetcode/python/203._remove_linked_list_elements.md) - + [204 count primes](docs/leetcode/python/204._count_primes.md) - + [205 isomorphic strings](docs/leetcode/python/205._isomorphic_strings.md) - + [206 reverse linked list](docs/leetcode/python/206._reverse_linked_list.md) - + [207 course schedule](docs/leetcode/python/207._course_schedule.md) - + [208 implement trie (prefix tree)](docs/leetcode/python/208._implement_trie_(prefix_tree).md) - + [210 course schedule ii](docs/leetcode/python/210._course_schedule_ii.md) - + [211 Add and Search Word - Data structure design](docs/leetcode/python/211._Add_and_Search_Word_-_Data_structure_design.md) - + [213 house robber ii](docs/leetcode/python/213._house_robber_ii.md) - + [216 combination sum iii](docs/leetcode/python/216._combination_sum_iii.md) - + [217 contains duplicate](docs/leetcode/python/217._contains_duplicate.md) - + [218 The Skyline Problem](docs/leetcode/python/218._The_Skyline_Problem.md) - + [219 contains duplicate ii](docs/leetcode/python/219._contains_duplicate_ii.md) - + [221 maximal square](docs/leetcode/python/221._maximal_square.md) - + [222 count complete tree nodes](docs/leetcode/python/222._count_complete_tree_nodes.md) - + [223 rectangle area](docs/leetcode/python/223._rectangle_area.md) - + [224 Basic Calculator](docs/leetcode/python/224._Basic_Calculator.md) - + [225 implement stack using queues](docs/leetcode/python/225._implement_stack_using_queues.md) - + [226 invert binary tree](docs/leetcode/python/226._invert_binary_tree.md) - + [227 basic calculator ii](docs/leetcode/python/227._basic_calculator_ii.md) - + [228 summary ranges](docs/leetcode/python/228._summary_ranges.md) - + [229 majority element ii](docs/leetcode/python/229._majority_element_ii.md) - + [230 kth smallest element in a bst](docs/leetcode/python/230._kth_smallest_element_in_a_bst.md) - + [231 Power of Two](docs/leetcode/python/231._Power_of_Two.md) - + [232 implement queue using stacks](docs/leetcode/python/232._implement_queue_using_stacks.md) - + [234 palindrome linked list](docs/leetcode/python/234._palindrome_linked_list.md) - + [235 lowest common ancestor of a binary search tree](docs/leetcode/python/235._lowest_common_ancestor_of_a_binary_search_tree.md) - + [236 lowest common ancestor of a binary tree](docs/leetcode/python/236._lowest_common_ancestor_of_a_binary_tree.md) - + [237 delete node in a linked list](docs/leetcode/python/237._delete_node_in_a_linked_list.md) - + [238 product of array except self](docs/leetcode/python/238._product_of_array_except_self.md) - + [240 search a 2d matrix ii](docs/leetcode/python/240._search_a_2d_matrix_ii.md) - + [242 valid anagram](docs/leetcode/python/242._valid_anagram.md) - + [249 Group Shifted Strings](docs/leetcode/python/249._Group_Shifted_Strings.md) - + [252 Meeting Rooms](docs/leetcode/python/252._Meeting_Rooms.md) - + [255 Verify Preorder Sequence in Binary Search Tree](docs/leetcode/python/255._Verify_Preorder_Sequence_in_Binary_Search_Tree.md) - + [256 Paint House](docs/leetcode/python/256._Paint_House.md) - + [257 binary tree paths](docs/leetcode/python/257._binary_tree_paths.md) - + [258_Add_Digits md](docs/leetcode/python/258._Add_Digits.md) - + [261 Graph Valid Tree](docs/leetcode/python/261._Graph_Valid_Tree.md) - + [263 ugly number](docs/leetcode/python/263._ugly_number.md) - + [264 ugly number ii](docs/leetcode/python/264._ugly_number_ii.md) - + [265 Paint House II](docs/leetcode/python/265._Paint_House_II.md) - + [266 Palindrome Permutation](docs/leetcode/python/266._Palindrome_Permutation.md) - + [267 Palindrome Permutation II](docs/leetcode/python/267._Palindrome_Permutation_II.md) - + [268 missing number](docs/leetcode/python/268._missing_number.md) - + [270 Closest Binary Search Tree Value](docs/leetcode/python/270._Closest_Binary_Search_Tree_Value.md) - + [276 Paint Fence](docs/leetcode/python/276._Paint_Fence.md) - + [277 Find the Celebrity](docs/leetcode/python/277._Find_the_Celebrity.md) - + [278 First Bad Version](docs/leetcode/python/278._First_Bad_Version.md) - + [279 perfect squares](docs/leetcode/python/279._perfect_squares.md) - + [280 Wiggle Sort](docs/leetcode/python/280._Wiggle_Sort.md) - + [283 move zeroes](docs/leetcode/python/283._move_zeroes.md) - + [285 inorder successor in bst](docs/leetcode/python/285._inorder_successor_in_bst.md) - + [286 Walls and Gates](docs/leetcode/python/286._Walls_and_Gates.md) - + [287 Find the Duplicate Number](docs/leetcode/python/287._Find_the_Duplicate_Number.md) - + [289 game of life](docs/leetcode/python/289._game_of_life.md) - + [290 word pattern](docs/leetcode/python/290._word_pattern.md) - + [292 nim game](docs/leetcode/python/292._nim_game.md) - + [293 Flip Game](docs/leetcode/python/293._Flip_Game.md) - + [296 Best Meeting Point](docs/leetcode/python/296._Best_Meeting_Point.md) - + [298 Binary Tree Longest Consecutive Sequence](docs/leetcode/python/298._Binary_Tree_Longest_Consecutive_Sequence.md) - + [299 bulls and cows](docs/leetcode/python/299._bulls_and_cows.md) - + [300 longest increasing subsequence](docs/leetcode/python/300._longest_increasing_subsequence.md) - + [303 range sum query - immutable](docs/leetcode/python/303._range_sum_query_-_immutable.md) - + [316 Remove Duplicate Letters](docs/leetcode/python/316._Remove_Duplicate_Letters.md) - + [319 Bulb Switcher](docs/leetcode/python/319._Bulb_Switcher.md) - + [322 Coin Change](docs/leetcode/python/322._Coin_Change.md) - + [323 number of connected components in an undirected graph](docs/leetcode/python/323._number_of_connected_components_in_an_undirected_graph.md) - + [324 Wiggle Sort II](docs/leetcode/python/324._Wiggle_Sort_II.md) - + [326 power of three](docs/leetcode/python/326._power_of_three.md) - + [328 odd even linked list](docs/leetcode/python/328._odd_even_linked_list.md) - + [334 increasing triplet subsequence](docs/leetcode/python/334._increasing_triplet_subsequence.md) - + [337 house robber iii](docs/leetcode/python/337._house_robber_iii.md) - + [338 Counting Bits](docs/leetcode/python/338._Counting_Bits.md) - + [339 Nested List Weight Sum](docs/leetcode/python/339._Nested_List_Weight_Sum.md) - + [341 Flatten Nested List Iterator](docs/leetcode/python/341._Flatten_Nested_List_Iterator.md) - + [342 Power of Four](docs/leetcode/python/342._Power_of_Four.md) - + [344 reverse string](docs/leetcode/python/344._reverse_string.md) - + [345 Reverse Vowels of a String](docs/leetcode/python/345._Reverse_Vowels_of_a_String.md) - + [349 intersection of two arrays](docs/leetcode/python/349._intersection_of_two_arrays.md) - + [350 intersection of two arrays ii](docs/leetcode/python/350._intersection_of_two_arrays_ii.md) - + [353 Design Snake Game](docs/leetcode/python/353._Design_Snake_Game.md) - + [361 Bomb Enemy](docs/leetcode/python/361._Bomb_Enemy.md) - + [364 Nested List Weight Sum II](docs/leetcode/python/364._Nested_List_Weight_Sum_II.md) - + [366 Find Leaves of Binary Tree](docs/leetcode/python/366._Find_Leaves_of_Binary_Tree.md) - + [367 valid perfect square](docs/leetcode/python/367._valid_perfect_square.md) - + [369 Plus One Linked List](docs/leetcode/python/369._Plus_One_Linked_List.md) - + [371 sum of two integers](docs/leetcode/python/371._sum_of_two_integers.md) - + [374 Guess Number Higher or Lower](docs/leetcode/python/374._Guess_Number_Higher_or_Lower.md) - + [377 combination sum iv](docs/leetcode/python/377._combination_sum_iv.md) - + [378 kth smallest element in a sorted matrix](docs/leetcode/python/378._kth_smallest_element_in_a_sorted_matrix.md) - + [380 Insert Delete GetRandom O(1)](docs/leetcode/python/380._Insert_Delete_GetRandom_O(1).md) - + [381 Insert Delete GetRandom O(1) - Duplicates allowed](docs/leetcode/python/381._Insert_Delete_GetRandom_O(1)_-_Duplicates_allowed.md) - + [382 linked list random node](docs/leetcode/python/382._linked_list_random_node.md) - + [383 ransom note](docs/leetcode/python/383._ransom_note.md) - + [384 Shuffle an Array](docs/leetcode/python/384._Shuffle_an_Array.md) - + [386 Lexicographical Numbers](docs/leetcode/python/386._Lexicographical_Numbers.md) - + [387 first unique character in a string](docs/leetcode/python/387._first_unique_character_in_a_string.md) - + [388 Longest Absolute File Path](docs/leetcode/python/388._Longest_Absolute_File_Path.md) - + [389 find the difference](docs/leetcode/python/389._find_the_difference.md) - + [392 is subsequence](docs/leetcode/python/392._is_subsequence.md) - + [394 decode string](docs/leetcode/python/394._decode_string.md) - + [400 Nth Digit](docs/leetcode/python/400._Nth_Digit.md) - + [401 binary watch](docs/leetcode/python/401._binary_watch.md) - + [404 sum of left leaves](docs/leetcode/python/404._sum_of_left_leaves.md) - + [405 Convert a Number to Hexadecimal](docs/leetcode/python/405._Convert_a_Number_to_Hexadecimal.md) - + [406 Queue Reconstruction by Height](docs/leetcode/python/406._Queue_Reconstruction_by_Height.md) - + [412 fizz buzz](docs/leetcode/python/412._fizz_buzz.md) - + [413 Arithmetic Slices](docs/leetcode/python/413._Arithmetic_Slices.md) - + [414 third maximum number](docs/leetcode/python/414._third_maximum_number.md) - + [415 add strings](docs/leetcode/python/415._add_strings.md) - + [416 Partition Equal Subset Sum](docs/leetcode/python/416._Partition_Equal_Subset_Sum.md) - + [421 Maximum XOR of Two Numbers in an Array](docs/leetcode/python/421._Maximum_XOR_of_Two_Numbers_in_an_Array.md) - + [422 Valid Word Square](docs/leetcode/python/422._Valid_Word_Square.md) - + [434 number of segments in a string](docs/leetcode/python/434._number_of_segments_in_a_string.md) - + [435 Non-overlapping Intervals](docs/leetcode/python/435._Non-overlapping_Intervals.md) - + [437 path sum iii](docs/leetcode/python/437._path_sum_iii.md) - + [438 Find All Anagrams in a String](docs/leetcode/python/438._Find_All_Anagrams_in_a_String.md) - + [439 Ternary Expression Parser](docs/leetcode/python/439._Ternary_Expression_Parser.md) - + [441 arranging coins](docs/leetcode/python/441._arranging_coins.md) - + [448 Find All Numbers Disappeared in an Array](docs/leetcode/python/448._Find_All_Numbers_Disappeared_in_an_Array.md) - + [450 Delete Node in a BST](docs/leetcode/python/450._Delete_Node_in_a_BST.md) - + [453 Minimum Moves to Equal Array Elements](docs/leetcode/python/453._Minimum_Moves_to_Equal_Array_Elements.md) - + [459 Repeated Substring Pattern](docs/leetcode/python/459._Repeated_Substring_Pattern.md) - + [461 Hamming Distance](docs/leetcode/python/461._Hamming_Distance.md) - + [463 Island Perimeter](docs/leetcode/python/463._Island_Perimeter.md) - + [467 Unique Substrings in Wraparound String](docs/leetcode/python/467._Unique_Substrings_in_Wraparound_String.md) - + [469 Convex Polygon](docs/leetcode/python/469._Convex_Polygon.md) - + [476 Number Complement](docs/leetcode/python/476._Number_Complement.md) - + [477 Total Hamming Distance](docs/leetcode/python/477._Total_Hamming_Distance.md) - + [485 Max Consecutive Ones](docs/leetcode/python/485._Max_Consecutive_Ones.md) - + [494 Target Sum](docs/leetcode/python/494._Target_Sum.md) - + [536 Construct Binary Tree from String](docs/leetcode/python/536._Construct_Binary_Tree_from_String.md) - + [587 Erect the Fence](docs/leetcode/python/587._Erect_the_Fence.md) - + [599 Minimum Index Sum of Two Lists](docs/leetcode/python/599._Minimum_Index_Sum_of_Two_Lists.md) - + [606 Construct String from Binary Tree](docs/leetcode/python/606._Construct_String_from_Binary_Tree.md) - + [611 Valid Triangle Number](docs/leetcode/python/611._Valid_Triangle_Number.md) - + [646 Maximum Length of Pair Chain](docs/leetcode/python/646._Maximum_Length_of_Pair_Chain.md) - + [647 Palindromic Substrings](docs/leetcode/python/647._Palindromic_Substrings.md) - + [657 Judge Route Circle](docs/leetcode/python/657._Judge_Route_Circle.md) - + [665 Non-decreasing Array](docs/leetcode/python/665._Non-decreasing_Array.md) - + [672 Bulb Switcher II](docs/leetcode/python/672._Bulb_Switcher_II.md) - + [681 Next Closest Time](docs/leetcode/python/681._Next_Closest_Time.md) - + [682 Baseball Game](docs/leetcode/python/682._Baseball_Game.md) - + [685 Redundant Connection II](docs/leetcode/python/685._Redundant_Connection_II.md) - + [687 Longest Univalue Path](docs/leetcode/python/687._Longest_Univalue_Path.md) - + [693 Binary Number with Alternating Bits](docs/leetcode/python/693._Binary_Number_with_Alternating_Bits.md) - + [701 Insert into a Binary Search Tree](docs/leetcode/python/701._Insert_into_a_Binary_Search_Tree.md) - + [707 Design Linked List](docs/leetcode/python/707._Design_Linked_List.md) - + [740 delete and earn](docs/leetcode/python/740._delete_and_earn.md) - + [760 Find Anagram Mappings](docs/leetcode/python/760._Find_Anagram_Mappings.md) - + [774 Minimize Max Distance to Gas Station](docs/leetcode/python/774._Minimize_Max_Distance_to_Gas_Station.md) - + [777 Swap Adjacent in LR String](docs/leetcode/python/777._Swap_Adjacent_in_LR_String.md) - + [844 Backspace String Compare](docs/leetcode/python/844._Backspace_String_Compare.md) -+ [剑指 Offer Java 题解](docs/jianzhioffer/java/README.md) - + [找出数组中重复的数字](docs/jianzhioffer/java/03_01_DuplicationInArray.md) - + [不修改数组找出重复的数字](docs/jianzhioffer/java/03_02_DuplicationInArrayNoEdit.md) - + [二维数组中的查找](docs/jianzhioffer/java/04_FindInPartiallySortedMatrix.md) - + [替换空格](docs/jianzhioffer/java/05_ReplaceSpaces.md) - + [从尾到头打印链表](docs/jianzhioffer/java/06_PrintListInReversedOrder.md) - + [重建二叉树](docs/jianzhioffer/java/07_ConstructBinaryTree.md) - + [二叉树的下一个结点](docs/jianzhioffer/java/08_NextNodeInBinaryTrees.md) - + [用两个栈实现队列](docs/jianzhioffer/java/09_01_QueueWithTwoStacks.md) - + [用两个队列实现栈](docs/jianzhioffer/java/09_02_StackWithTwoQueues.md) - + [斐波那契数列](docs/jianzhioffer/java/10_01_Fibonacci.md) - + [跳台阶](docs/jianzhioffer/java/10_02_JumpFloor.md) - + [变态跳台阶](docs/jianzhioffer/java/10_03_JumpFloorII.md) - + [矩形覆盖](docs/jianzhioffer/java/10_04_RectCover.md) - + [旋转数组的最小数字](docs/jianzhioffer/java/11_MinNumberInRotatedArray.md) - + [矩阵中的路径](docs/jianzhioffer/java/12_StringPathInMatrix.md) - + [机器人的移动范围](docs/jianzhioffer/java/13_RobotMove.md) - + [剪绳子](docs/jianzhioffer/java/14_CuttingRope.md) - + [二进制中 1 的个数](docs/jianzhioffer/java/15_NumberOf1InBinary.md) - + [数值的整数次方](docs/jianzhioffer/java/16_Power.md) - + [打印从 1 到最大的 n 位数](docs/jianzhioffer/java/17_Print1ToMaxOfNDigits.md) - + [在O(1)时间内删除链表节点](docs/jianzhioffer/java/18_01_DeleteNodeInList.md) - + [删除链表中重复的节点](docs/jianzhioffer/java/18_02_DeleteDuplicatedNode.md) - + [正则表达式匹配](docs/jianzhioffer/java/19_RegularExpressionsMatching.md) - + [表示数值的字符串](docs/jianzhioffer/java/20_NumericStrings.md) - + [调整数组顺序使奇数位于偶数前面](docs/jianzhioffer/java/21_ReorderArray.md) - + [链表中倒数第k个结点](docs/jianzhioffer/java/22_KthNodeFromEnd.md) - + [链表中环的入口结点](docs/jianzhioffer/java/23_EntryNodeInListLoop.md) - + [反转链表](docs/jianzhioffer/java/24_ReverseList.md) - + [合并两个排序的链表](docs/jianzhioffer/java/25_MergeSortedLists.md) - + [树的子结构](docs/jianzhioffer/java/26_SubstructureInTree.md) - + [二叉树的镜像](docs/jianzhioffer/java/27_MirrorOfBinaryTree.md) - + [对称的二叉树](docs/jianzhioffer/java/28_SymmetricalBinaryTree.md) - + [顺时针打印矩阵](docs/jianzhioffer/java/29_PrintMatrix.md) - + [包含min函数的栈](docs/jianzhioffer/java/30_MinInStack.md) - + [栈的压入、弹出序列](docs/jianzhioffer/java/31_StackPushPopOrder.md) - + [不分行从上到下打印二叉树](docs/jianzhioffer/java/32_01_PrintTreeFromTopToBottom.md) - + [把二叉树打印成多行](docs/jianzhioffer/java/32_02_PrintTreesInLines.md) - + [按之字形打印二叉树](docs/jianzhioffer/java/32_03_PrintTreesInZigzag.md) - + [二叉搜索树的后序遍历序列](docs/jianzhioffer/java/33_SquenceOfBST.md) - + [二叉树中和为某一值的路径](docs/jianzhioffer/java/34_PathInTree.md) - + [复杂链表的复制](docs/jianzhioffer/java/35_CopyComplexList.md) - + [二叉搜索树与双向链表](docs/jianzhioffer/java/36_ConvertBinarySearchTree.md) - + [序列化二叉树](docs/jianzhioffer/java/37_SerializeBinaryTrees.md) - + [字符串的排列](docs/jianzhioffer/java/38_StringPermutation.md) - + [数组中出现次数超过一半的数字](docs/jianzhioffer/java/39_MoreThanHalfNumber.md) - + [获取数组中最小的k个数](docs/jianzhioffer/java/40_KLeastNumbers.md) - + [数据流中的中位数](docs/jianzhioffer/java/41_StreamMedian.md) - + [连续子数组的最大和](docs/jianzhioffer/java/42_GreatestSumOfSubarrays.md) - + [整数中1出现的次数](docs/jianzhioffer/java/43_NumberOf1.md) - + [数字序列中某一位的数字](docs/jianzhioffer/java/44_DigitsInSequence.md) - + [把数组排成最小的数](docs/jianzhioffer/java/45_SortArrayForMinNumber.md) - + [把数字翻译成字符串](docs/jianzhioffer/java/46_TranslateNumbersToStrings.md) - + [礼物的最大价值](docs/jianzhioffer/java/47_MaxValueOfGifts.md) - + [最长不含重复字符的子字符串](docs/jianzhioffer/java/48_LongestSubstringWithoutDup.md) - + [丑数](docs/jianzhioffer/java/49_UglyNumber.md) - + [第一个只出现一次的字符](docs/jianzhioffer/java/50_01_FirstNotRepeatingChar.md) - + [字符流中第一个不重复的字符](docs/jianzhioffer/java/50_02_FristCharacterInStream.md) - + [两个链表的第一个公共结点](docs/jianzhioffer/java/52_FirstCommonNodesInLists.md) - + [数字在排序数组中出现的次数](docs/jianzhioffer/java/53_01_NumberOfK.md) - + [0到n-1中缺失的数字](docs/jianzhioffer/java/53_02_MissingNumber.md) - + [数组中数值和下标相等的元素](docs/jianzhioffer/java/53_03_IntegerIdenticalToIndex.md) - + [二叉搜索树的第k个结点](docs/jianzhioffer/java/54_KthNodeInBST.md) - + [二叉树的深度](docs/jianzhioffer/java/55_01_TreeDepth.md) - + [平衡二叉树](docs/jianzhioffer/java/55_02_BalancedBinaryTree.md) - + [数组中只出现一次的两个数字](docs/jianzhioffer/java/56_01_NumbersAppearOnce.md) - + [数组中唯一只出现一次的数字](docs/jianzhioffer/java/56_02_NumberAppearingOnce.md) - + [和为S的两个数字](docs/jianzhioffer/java/57_01_TwoNumbersWithSum.md) - + [和为S的连续正数序列](docs/jianzhioffer/java/57_02_ContinuousSquenceWithSum.md) - + [翻转单词顺序](docs/jianzhioffer/java/58_01_ReverseWordsInSentence.md) - + [左旋转字符串](docs/jianzhioffer/java/58_02_LeftRotateString.md) - + [滑动窗口的最大值](docs/jianzhioffer/java/59_01_MaxInSlidingWindow.md) - + [扑克牌的顺子](docs/jianzhioffer/java/61_ContinousCards.md) diff --git a/asset/back-to-top.css b/asset/back-to-top.css deleted file mode 100644 index bcb3d5a75..000000000 --- a/asset/back-to-top.css +++ /dev/null @@ -1,19 +0,0 @@ -#scroll-btn { - position: fixed; - right: 15px; - bottom: 10px; - width: 35px; - height: 35px; - background-repeat: no-repeat; - background-size: cover; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-image: url(http://github.com/up.svg); - background-position-y: -1px; - display: none; - border: 2px solid; - border-radius: 4px; -} \ No newline at end of file diff --git a/asset/back-to-top.js b/asset/back-to-top.js deleted file mode 100644 index 3efad9be0..000000000 --- a/asset/back-to-top.js +++ /dev/null @@ -1,20 +0,0 @@ -document.addEventListener('DOMContentLoaded', function() { - var scrollBtn = document.createElement('div') - scrollBtn.id = 'scroll-btn' - document.body.append(scrollBtn) - - window.addEventListener('scroll', function() { - var offset = window.document.documentElement.scrollTop; - scrollBtn.style.display = offset >= 500 ? "block" : "none"; - }) - scrollBtn.addEventListener('click', function(e) { - e.stopPropagation(); - var step = window.scrollY / 15; - var hdl = setInterval(function() { - window.scrollTo(0, window.scrollY - step); - if(window.scrollY <= 0) { - clearInterval(hdl) - } - }, 15) - }) -}) \ No newline at end of file diff --git a/asset/dark-mode.css b/asset/dark-mode.css deleted file mode 100644 index 4aa47afcb..000000000 --- a/asset/dark-mode.css +++ /dev/null @@ -1,23 +0,0 @@ -#dark-mode-btn { - position: fixed; - right: 15px; - top: 100px; - width: 35px; - height: 35px; - background-repeat: no-repeat; - background-size: cover; - cursor: pointer; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - transition: background-image .15s ease-in-out .15s; -} - -.dark-logo { - background-image: url('http://github.com/sun.svg'); -} - -.light-logo { - background-image: url('http://github.com/moon.svg'); -} \ No newline at end of file diff --git a/asset/dark-mode.js b/asset/dark-mode.js deleted file mode 100644 index 471dcf800..000000000 --- a/asset/dark-mode.js +++ /dev/null @@ -1,42 +0,0 @@ -document.addEventListener('DOMContentLoaded', function() { - var style = document.querySelector('#invert') - if (style == null) { - style = document.createElement('style') - style.id = 'invert' - document.head.append(style) - } - var btn = document.querySelector('#dark-mode-btn') - if (btn == null) { - btn = document.createElement('div') - btn.id = 'dark-mode-btn' - btn.classList.add('light-logo') - document.body.append(btn) - } - - var enableDarkMode = function() { - style.innerText = 'html,img,pre,#dark-mode-btn{filter:invert(100%)}' - btn.classList.remove('light-logo') - btn.classList.add('dark-logo') - localStorage.darkLight = 'dark' - - } - var disableDarkMode = function() { - style.innerText = '' - btn.classList.remove('dark-logo') - btn.classList.add('light-logo') - localStorage.darkLight = 'light' - } - - btn.addEventListener('click', function(){ - var currMode = localStorage.darkLight || 'light' - if (currMode == 'light') - enableDarkMode() - else - disableDarkMode() - }) - - if (localStorage.darkLight == 'dark') - enableDarkMode() - -}) - diff --git a/asset/docsify-apachecn-footer.js b/asset/docsify-apachecn-footer.js deleted file mode 100644 index 0723a6b41..000000000 --- a/asset/docsify-apachecn-footer.js +++ /dev/null @@ -1,34 +0,0 @@ -(function(){ - var cnzzId = window.$docsify.cnzzId - var unRepo = window.$docsify.repo || '' - var [un, repo] = unRepo.split('/') - var footer = ` -
-
-

我们一直在努力

-

${unRepo}

-

- - - iBooker 面试求职

-

-
- -
-
- ` - var plugin = function(hook) { - hook.afterEach(function(html) { - return html + footer - }) - hook.doneEach(function() { - (adsbygoogle = window.adsbygoogle || []).push({}) - }) - } - var plugins = window.$docsify.plugins || [] - plugins.push(plugin) - window.$docsify.plugins = plugins -})() \ No newline at end of file diff --git a/asset/docsify-baidu-push.js b/asset/docsify-baidu-push.js deleted file mode 100644 index 27b1f7423..000000000 --- a/asset/docsify-baidu-push.js +++ /dev/null @@ -1,13 +0,0 @@ -(function(){ - var plugin = function(hook) { - hook.doneEach(function() { - new Image().src = - '//api.share.baidu.com/s.gif?r=' + - encodeURIComponent(document.referrer) + - "&l=" + encodeURIComponent(location.href) - }) - } - var plugins = window.$docsify.plugins || [] - plugins.push(plugin) - window.$docsify.plugins = plugins -})() \ No newline at end of file diff --git a/asset/docsify-baidu-stat.js b/asset/docsify-baidu-stat.js deleted file mode 100644 index 811aa35fb..000000000 --- a/asset/docsify-baidu-stat.js +++ /dev/null @@ -1,13 +0,0 @@ -(function(){ - var plugin = function(hook) { - hook.doneEach(function() { - window._hmt = window._hmt || [] - var hm = document.createElement("script") - hm.src = "https://hm.baidu.com/hm.js?" + window.$docsify.bdStatId - document.querySelector("article").appendChild(hm) - }) - } - var plugins = window.$docsify.plugins || [] - plugins.push(plugin) - window.$docsify.plugins = plugins -})() \ No newline at end of file diff --git a/asset/docsify-clicker.js b/asset/docsify-clicker.js deleted file mode 100644 index 1b2a5729e..000000000 --- a/asset/docsify-clicker.js +++ /dev/null @@ -1,197 +0,0 @@ -(function() { - var ids = [ - '109577065', '108852955', '102682374', '100520874', '92400861', '90312982', - '109963325', '109323014', '109301511', '108898970', '108590722', '108538676', - '108503526', '108437109', '108402202', '108292691', '108291153', '108268498', - '108030854', '107867070', '107847299', '107827334', '107825454', '107802131', - '107775320', '107752974', '107735139', '107702571', '107598864', '107584507', - '107568311', '107526159', '107452391', '107437455', '107430050', '107395781', - '107325304', '107283210', '107107145', '107085440', '106995421', '106993460', - '106972215', '106959775', '106766787', '106749609', '106745967', '106634313', - '106451602', '106180097', '106095505', '106077010', '106008089', '106002346', - '105653809', '105647855', '105130705', '104837872', '104706815', '104192620', - '104074941', '104040537', '103962171', '103793502', '103783460', '103774572', - '103547748', '103547703', '103547571', '103490757', '103413481', '103341935', - '103330191', '103246597', '103235808', '103204403', '103075981', '103015105', - '103014899', '103014785', '103014702', '103014540', '102993780', '102993754', - '102993680', '102958443', '102913317', '102903382', '102874766', '102870470', - '102864513', '102811179', '102761237', '102711565', '102645443', '102621845', - '102596167', '102593333', '102585262', '102558427', '102537547', '102530610', - '102527017', '102504698', '102489806', '102372981', '102258897', '102257303', - '102056248', '101920097', '101648638', '101516708', '101350577', '101268149', - '101128167', '101107328', '101053939', '101038866', '100977414', '100945061', - '100932401', '100886407', '100797378', '100634918', '100588305', '100572447', - '100192249', '100153559', '100099032', '100061455', '100035392', '100033450', - '99671267', '99624846', '99172551', '98992150', '98989508', '98987516', '98938304', - '98937682', '98725145', '98521688', '98450861', '98306787', '98203342', '98026348', - '97680167', '97492426', '97108940', '96888872', '96568559', '96509100', '96508938', - '96508611', '96508374', '96498314', '96476494', '96333593', '96101522', '95989273', - '95960507', '95771870', '95770611', '95766810', '95727700', '95588929', '95218707', - '95073151', '95054615', '95016540', '94868371', '94839549', '94719281', '94401578', - '93931439', '93853494', '93198026', '92397889', '92063437', '91635930', '91433989', - '91128193', '90915507', '90752423', '90738421', '90725712', '90725083', '90722238', - '90647220', '90604415', '90544478', '90379769', '90288341', '90183695', '90144066', - '90108283', '90021771', '89914471', '89876284', '89852050', '89839033', '89812373', - '89789699', '89786189', '89752620', '89636380', '89632889', '89525811', '89480625', - '89464088', '89464025', '89463984', '89463925', '89445280', '89441793', '89430432', - '89429877', '89416176', '89412750', '89409618', '89409485', '89409365', '89409292', - '89409222', '89399738', '89399674', '89399526', '89355336', '89330241', '89308077', - '89222240', '89140953', '89139942', '89134398', '89069355', '89049266', '89035735', - '89004259', '88925790', '88925049', '88915838', '88912706', '88911548', '88899438', - '88878890', '88837519', '88832555', '88824257', '88777952', '88752158', '88659061', - '88615256', '88551434', '88375675', '88322134', '88322085', '88321996', '88321978', - '88321950', '88321931', '88321919', '88321899', '88321830', '88321756', '88321710', - '88321661', '88321632', '88321566', '88321550', '88321506', '88321475', '88321440', - '88321409', '88321362', '88321321', '88321293', '88321226', '88232699', '88094874', - '88090899', '88090784', '88089091', '88048808', '87938224', '87913318', '87905933', - '87897358', '87856753', '87856461', '87827666', '87822008', '87821456', '87739137', - '87734022', '87643633', '87624617', '87602909', '87548744', '87548689', '87548624', - '87548550', '87548461', '87463201', '87385913', '87344048', '87078109', '87074784', - '87004367', '86997632', '86997466', '86997303', '86997116', '86996474', '86995899', - '86892769', '86892654', '86892569', '86892457', '86892347', '86892239', '86892124', - '86798671', '86777307', '86762845', '86760008', '86759962', '86759944', '86759930', - '86759922', '86759646', '86759638', '86759633', '86759622', '86759611', '86759602', - '86759596', '86759591', '86759580', '86759572', '86759567', '86759558', '86759545', - '86759534', '86749811', '86741502', '86741074', '86741059', '86741020', '86740897', - '86694754', '86670104', '86651882', '86651875', '86651866', '86651828', '86651790', - '86651767', '86651756', '86651735', '86651720', '86651708', '86618534', '86618526', - '86594785', '86590937', '86550497', '86550481', '86550472', '86550453', '86550438', - '86550429', '86550407', '86550381', '86550359', '86536071', '86536035', '86536014', - '86535988', '86535963', '86535953', '86535932', '86535902', '86472491', '86472298', - '86472236', '86472191', '86472108', '86471967', '86471899', '86471822', '86439022', - '86438972', '86438902', '86438887', '86438867', '86438836', '86438818', '85850119', - '85850075', '85850021', '85849945', '85849893', '85849837', '85849790', '85849740', - '85849661', '85849620', '85849550', '85606096', '85564441', '85547709', '85471981', - '85471317', '85471136', '85471073', '85470629', '85470456', '85470169', '85469996', - '85469877', '85469775', '85469651', '85469331', '85469033', '85345768', '85345742', - '85337900', '85337879', '85337860', '85337833', '85337797', '85322822', '85322810', - '85322791', '85322745', '85317667', '85265742', '85265696', '85265618', '85265350', - '85098457', '85057670', '85009890', '84755581', '84637437', '84637431', '84637393', - '84637374', '84637355', '84637338', '84637321', '84637305', '84637283', '84637259', - '84629399', '84629314', '84629233', '84629124', '84629065', '84628997', '84628933', - '84628838', '84628777', '84628690', '84591581', '84591553', '84591511', '84591484', - '84591468', '84591416', '84591386', '84591350', '84591308', '84572155', '84572107', - '84503228', '84500221', '84403516', '84403496', '84403473', '84403442', '84075703', - '84029659', '83933480', '83933459', '83933435', '83903298', '83903274', '83903258', - '83752369', '83345186', '83116487', '83116446', '83116402', '83116334', '83116213', - '82944248', '82941023', '82938777', '82936611', '82932735', '82918102', '82911085', - '82888399', '82884263', '82883507', '82880996', '82875334', '82864060', '82831039', - '82823385', '82795277', '82790832', '82775718', '82752022', '82730437', '82718126', - '82661646', '82588279', '82588267', '82588261', '82588192', '82347066', '82056138', - '81978722', '81211571', '81104145', '81069048', '81006768', '80788365', '80767582', - '80759172', '80759144', '80759129', '80736927', '80661288', '80616304', '80602366', - '80584625', '80561364', '80549878', '80549875', '80541470', '80539726', '80531328', - '80513257', '80469816', '80406810', '80356781', '80334130', '80333252', '80332666', - '80332389', '80311244', '80301070', '80295974', '80292252', '80286963', '80279504', - '80278369', '80274371', '80249825', '80247284', '80223054', '80219559', '80209778', - '80200279', '80164236', '80160900', '80153046', '80149560', '80144670', '80061205', - '80046520', '80025644', '80014721', '80005213', '80004664', '80001653', '79990178', - '79989283', '79947873', '79946002', '79941517', '79938786', '79932755', '79921178', - '79911339', '79897603', '79883931', '79872574', '79846509', '79832150', '79828161', - '79828156', '79828149', '79828146', '79828140', '79828139', '79828135', '79828123', - '79820772', '79776809', '79776801', '79776788', '79776782', '79776772', '79776767', - '79776760', '79776753', '79776736', '79776705', '79676183', '79676171', '79676166', - '79676160', '79658242', '79658137', '79658130', '79658123', '79658119', '79658112', - '79658100', '79658092', '79658089', '79658069', '79658054', '79633508', '79587857', - '79587850', '79587842', '79587831', '79587825', '79587819', '79547908', '79477700', - '79477692', '79440956', '79431176', '79428647', '79416896', '79406699', '79350633', - '79350545', '79344765', '79339391', '79339383', '79339157', '79307345', '79293944', - '79292623', '79274443', '79242798', '79184420', '79184386', '79184355', '79184269', - '79183979', '79100314', '79100206', '79100064', '79090813', '79057834', '78967246', - '78941571', '78927340', '78911467', '78909741', '78848006', '78628917', '78628908', - '78628889', '78571306', '78571273', '78571253', '78508837', '78508791', '78448073', - '78430940', '78408150', '78369548', '78323851', '78314301', '78307417', '78300457', - '78287108', '78278945', '78259349', '78237192', '78231360', '78141031', '78100357', - '78095793', '78084949', '78073873', '78073833', '78067868', '78067811', '78055014', - '78041555', '78039240', '77948804', '77879624', '77837792', '77824937', '77816459', - '77816208', '77801801', '77801767', '77776636', '77776610', '77505676', '77485156', - '77478296', '77460928', '77327521', '77326428', '77278423', '77258908', '77252370', - '77248841', '77239042', '77233843', '77230880', '77200256', '77198140', '77196405', - '77193456', '77186557', '77185568', '77181823', '77170422', '77164604', '77163389', - '77160103', '77159392', '77150721', '77146204', '77141824', '77129604', '77123259', - '77113014', '77103247', '77101924', '77100165', '77098190', '77094986', '77088637', - '77073399', '77062405', '77044198', '77036923', '77017092', '77007016', '76999924', - '76977678', '76944015', '76923087', '76912696', '76890184', '76862282', '76852434', - '76829683', '76794256', '76780755', '76762181', '76732277', '76718569', '76696048', - '76691568', '76689003', '76674746', '76651230', '76640301', '76615315', '76598528', - '76571947', '76551820', '74178127', '74157245', '74090991', '74012309', '74001789', - '73910511', '73613471', '73605647', '73605082', '73503704', '73380636', '73277303', - '73274683', '73252108', '73252085', '73252070', '73252039', '73252025', '73251974', - '73135779', '73087531', '73044025', '73008658', '72998118', '72997953', '72847091', - '72833384', '72830909', '72828999', '72823633', '72793092', '72757626', '71157154', - '71131579', '71128551', '71122253', '71082760', '71078326', '71075369', '71057216', - '70812997', '70384625', '70347260', '70328937', '70313267', '70312950', '70255825', - '70238893', '70237566', '70237072', '70230665', '70228737', '70228729', '70175557', - '70175401', '70173259', '70172591', '70170835', '70140724', '70139606', '70053923', - '69067886', '69063732', '69055974', '69055708', '69031254', '68960022', '68957926', - '68957556', '68953383', '68952755', '68946828', '68483371', '68120861', '68065606', - '68064545', '68064493', '67646436', '67637525', '67632961', '66984317', '66968934', - '66968328', '66491589', '66475786', '66473308', '65946462', '65635220', '65632553', - '65443309', '65437683', '63260222', '63253665', '63253636', '63253628', '63253610', - '63253572', '63252767', '63252672', '63252636', '63252537', '63252440', '63252329', - '63252155', '62888876', '62238064', '62039365', '62038016', '61925813', '60957024', - '60146286', '59523598', '59489460', '59480461', '59160354', '59109234', '59089006', - '58595549', '57406062', '56678797', '55001342', '55001340', '55001336', '55001330', - '55001328', '55001325', '55001311', '55001305', '55001298', '55001290', '55001283', - '55001278', '55001272', '55001265', '55001262', '55001253', '55001246', '55001242', - '55001236', '54907997', '54798827', '54782693', '54782689', '54782688', '54782676', - '54782673', '54782671', '54782662', '54782649', '54782636', '54782630', '54782628', - '54782627', '54782624', '54782621', '54782620', '54782615', '54782613', '54782608', - '54782604', '54782600', '54767237', '54766779', '54755814', '54755674', '54730253', - '54709338', '54667667', '54667657', '54667639', '54646201', '54407212', '54236114', - '54234220', '54233181', '54232788', '54232407', '54177960', '53991319', '53932970', - '53888106', '53887128', '53885944', '53885094', '53884497', '53819985', '53812640', - '53811866', '53790628', '53785053', '53782838', '53768406', '53763191', '53763163', - '53763148', '53763104', '53763092', '53576302', '53576157', '53573472', '53560183', - '53523648', '53516634', '53514474', '53510917', '53502297', '53492224', '53467240', - '53467122', '53437115', '53436579', '53435710', '53415115', '53377875', '53365337', - '53350165', '53337979', '53332925', '53321283', '53318758', '53307049', '53301773', - '53289364', '53286367', '53259948', '53242892', '53239518', '53230890', '53218625', - '53184121', '53148662', '53129280', '53116507', '53116486', '52980893', '52980652', - '52971002', '52950276', '52950259', '52944714', '52934397', '52932994', '52924939', - '52887083', '52877145', '52858258', '52858046', '52840214', '52829673', '52818774', - '52814054', '52805448', '52798019', '52794801', '52786111', '52774750', '52748816', - '52745187', '52739313', '52738109', '52734410', '52734406', '52734401', '52515005', - '52056818', '52039757', '52034057', '50899381', '50738883', '50726018', '50695984', - '50695978', '50695961', '50695931', '50695913', '50695902', '50695898', '50695896', - '50695885', '50695852', '50695843', '50695829', '50643222', '50591997', '50561827', - '50550829', '50541472', '50527581', '50527317', '50527206', '50527094', '50526976', - '50525931', '50525764', '50518363', '50498312', '50493019', '50492927', '50492881', - '50492863', '50492772', '50492741', '50492688', '50492454', '50491686', '50491675', - '50491602', '50491550', '50491467', '50488409', '50485177', '48683433', '48679853', - '48678381', '48626023', '48623059', '48603183', '48599041', '48595555', '48576507', - '48574581', '48574425', '48547849', '48542371', '48518705', '48494395', '48493321', - '48491545', '48471207', '48471161', '48471085', '48468239', '48416035', '48415577', - '48415515', '48297597', '48225865', '48224037', '48223553', '48213383', '48211439', - '48206757', '48195685', '48193981', '48154955', '48128811', '48105995', '48105727', - '48105441', '48105085', '48101717', '48101691', '48101637', '48101569', '48101543', - '48085839', '48085821', '48085797', '48085785', '48085775', '48085765', '48085749', - '48085717', '48085687', '48085377', '48085189', '48085119', '48085043', '48084991', - '48084747', '48084139', '48084075', '48055511', '48055403', '48054259', '48053917', - '47378253', '47359989', '47344793', '47344083', '47336927', '47335827', '47316383', - '47315813', '47312213', '47295745', '47294471', '47259467', '47256015', '47255529', - '47253649', '47207791', '47206309', '47189383', '47172333', '47170495', '47166223', '47149681', '47146967', '47126915', '47126883', '47108297', '47091823', '47084039', - '47080883', '47058549', '47056435', '47054703', '47041395', '47035325', '47035143', - '47027547', '47016851', '47006665', '46854213', '46128743', '45035163', '43053503', - '41968283', '41958265', '40707993', '40706971', '40685165', '40684953', '40684575', - '40683867', '40683021', '39853417', '39806033', '39757139', '38391523', '37595169', - '37584503', '35696501', '29593529', '28100441', '27330071', '26950993', '26011757', - '26010983', '26010603', '26004793', '26003621', '26003575', '26003405', '26003373', - '26003307', '26003225', '26003189', '26002929', '26002863', '26002749', '26001477', - '25641541', '25414671', '25410705', '24973063', '20648491', '20621099', '17802317', - '17171597', '17141619', '17141381', '17139321', '17121903', '16898605', '16886449', - '14523439', '14104635', '14054225', '9317965' - ] - var urlb64 = 'aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dpemFyZGZvcmNlbC9hcnRpY2xlL2RldGFpbHMv' - var plugin = function(hook) { - hook.doneEach(function() { - for (var i = 0; i < 5; i++) { - var idx = Math.trunc(Math.random() * ids.length) - new Image().src = atob(urlb64) + ids[idx] - } - }) - } - var plugins = window.$docsify.plugins || [] - plugins.push(plugin) - window.$docsify.plugins = plugins -})() \ No newline at end of file diff --git a/asset/docsify-cnzz.js b/asset/docsify-cnzz.js deleted file mode 100644 index cbfda89e9..000000000 --- a/asset/docsify-cnzz.js +++ /dev/null @@ -1,13 +0,0 @@ -(function(){ - var plugin = function(hook) { - hook.doneEach(function() { - var sc = document.createElement('script') - sc.src = 'https://s5.cnzz.com/z_stat.php?id=' + - window.$docsify.cnzzId + '&online=1&show=line' - document.querySelector('article').appendChild(sc) - }) - } - var plugins = window.$docsify.plugins || [] - plugins.push(plugin) - window.$docsify.plugins = plugins -})() \ No newline at end of file diff --git a/asset/docsify-copy-code.min.js b/asset/docsify-copy-code.min.js deleted file mode 100644 index dee84c795..000000000 --- a/asset/docsify-copy-code.min.js +++ /dev/null @@ -1,9 +0,0 @@ -/*! - * docsify-copy-code - * v2.1.0 - * https://github.com/jperasmus/docsify-copy-code - * (c) 2017-2019 JP Erasmus - * MIT license - */ -!function(){"use strict";function r(o){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o})(o)}!function(o,e){void 0===e&&(e={});var t=e.insertAt;if(o&&"undefined"!=typeof document){var n=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css","top"===t&&n.firstChild?n.insertBefore(c,n.firstChild):n.appendChild(c),c.styleSheet?c.styleSheet.cssText=o:c.appendChild(document.createTextNode(o))}}(".docsify-copy-code-button,.docsify-copy-code-button span{cursor:pointer;transition:all .25s ease}.docsify-copy-code-button{position:absolute;z-index:1;top:0;right:0;overflow:visible;padding:.65em .8em;border:0;border-radius:0;outline:0;font-size:1em;background:grey;background:var(--theme-color,grey);color:#fff;opacity:0}.docsify-copy-code-button span{border-radius:3px;background:inherit;pointer-events:none}.docsify-copy-code-button .error,.docsify-copy-code-button .success{position:absolute;z-index:-100;top:50%;left:0;padding:.5em .65em;font-size:.825em;opacity:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.docsify-copy-code-button.error .error,.docsify-copy-code-button.success .success{opacity:1;-webkit-transform:translate(-115%,-50%);transform:translate(-115%,-50%)}.docsify-copy-code-button:focus,pre:hover .docsify-copy-code-button{opacity:1}"),document.querySelector('link[href*="docsify-copy-code"]')&&console.warn("[Deprecation] Link to external docsify-copy-code stylesheet is no longer necessary."),window.DocsifyCopyCodePlugin={init:function(){return function(o,e){o.ready(function(){console.warn("[Deprecation] Manually initializing docsify-copy-code using window.DocsifyCopyCodePlugin.init() is no longer necessary.")})}}},window.$docsify=window.$docsify||{},window.$docsify.plugins=[function(o,s){o.doneEach(function(){var o=Array.apply(null,document.querySelectorAll("pre[data-lang]")),c={buttonText:"Copy to clipboard",errorText:"Error",successText:"Copied"};s.config.copyCode&&Object.keys(c).forEach(function(t){var n=s.config.copyCode[t];"string"==typeof n?c[t]=n:"object"===r(n)&&Object.keys(n).some(function(o){var e=-1',''.concat(c.buttonText,""),''.concat(c.errorText,""),''.concat(c.successText,""),""].join("");o.forEach(function(o){o.insertAdjacentHTML("beforeend",e)})}),o.mounted(function(){document.querySelector(".content").addEventListener("click",function(o){if(o.target.classList.contains("docsify-copy-code-button")){var e="BUTTON"===o.target.tagName?o.target:o.target.parentNode,t=document.createRange(),n=e.parentNode.querySelector("code"),c=window.getSelection();t.selectNode(n),c.removeAllRanges(),c.addRange(t);try{document.execCommand("copy")&&(e.classList.add("success"),setTimeout(function(){e.classList.remove("success")},1e3))}catch(o){console.error("docsify-copy-code: ".concat(o)),e.classList.add("error"),setTimeout(function(){e.classList.remove("error")},1e3)}"function"==typeof(c=window.getSelection()).removeRange?c.removeRange(t):"function"==typeof c.removeAllRanges&&c.removeAllRanges()}})})}].concat(window.$docsify.plugins||[])}(); -//# sourceMappingURL=docsify-copy-code.min.js.map diff --git a/asset/docsify-quick-page.css b/asset/docsify-quick-page.css deleted file mode 100644 index 2cbba5b7e..000000000 --- a/asset/docsify-quick-page.css +++ /dev/null @@ -1,37 +0,0 @@ -#prev-page-button { - position:fixed; - top:140px; - width: 35px; - height: 35px; - right: 15px; - background-color: transparent; - background-image: url(http://github.com/left.svg); - background-repeat: no-repeat; - background-size: cover; - border:0; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - outline:none; - cursor: pointer; -} - -#next-page-button { - position:fixed; - top:180px; - width:35px; - height:35px; - right:15px; - background-color: transparent; - background-image: url(http://github.com/right.svg); - background-repeat: no-repeat; - background-size: cover; - border:0; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - outline:none; - cursor: pointer; -} \ No newline at end of file diff --git a/asset/docsify-quick-page.js b/asset/docsify-quick-page.js deleted file mode 100644 index d472eeb64..000000000 --- a/asset/docsify-quick-page.js +++ /dev/null @@ -1,42 +0,0 @@ -document.addEventListener('DOMContentLoaded', function() { - var prevBtn = document.createElement("div") - prevBtn.id = "prev-page-button" - document.body.appendChild(prevBtn) - var nextBtn = document.createElement("div"); - nextBtn.id = "next-page-button" - document.body.appendChild(nextBtn) - - var links = null - var linkMap = null - var getCurIdx = function() { - if (!links) { - links = Array - .from(document.querySelectorAll(".sidebar-nav a")) - .map(x => x.href) - linkMap = {} - links.forEach((x, i) => linkMap[x] = i) - } - - var elem = document.querySelector(".active a") - var curIdx = elem? linkMap[elem.href]: -1 - return curIdx - } - - prevBtn.addEventListener('click', function () { - if (!document.body.classList.contains('ready')) - return - var curIdx = getCurIdx() - location.href = curIdx == -1? - links[0]: - links[(curIdx - 1 + links.length) % links.length] - document.body.scrollIntoView() - }, false) - - nextBtn.addEventListener('click', function () { - if (!document.body.classList.contains('ready')) - return - var curIdx = getCurIdx() - location.href = links[(curIdx + 1) % links.length] - document.body.scrollIntoView() - }, false) -}) \ No newline at end of file diff --git a/asset/docsify-sidebar-collapse.min.js b/asset/docsify-sidebar-collapse.min.js deleted file mode 100644 index 2b067c7e2..000000000 --- a/asset/docsify-sidebar-collapse.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){("object"!=typeof exports||"undefined"==typeof module)&&"function"==typeof define&&define.amd?define(e):e()}(function(){"use strict";function e(e,n){var t,a=(n=void 0===n?{}:n).insertAt;e&&"undefined"!=typeof document&&(t=document.head||document.getElementsByTagName("head")[0],(n=document.createElement("style")).type="text/css","top"===a&&t.firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e)))}var t;function a(e){e&&null!=t&&(e=e.getBoundingClientRect().top,document.querySelector(".sidebar").scrollBy(0,e-t))}function n(){requestAnimationFrame(function(){var e=document.querySelector(".app-sub-sidebar > .active");if(e)for(e.parentNode.parentNode.querySelectorAll(".app-sub-sidebar").forEach(function(e){return e.classList.remove("open")});e.parentNode.classList.contains("app-sub-sidebar")&&!e.parentNode.classList.contains("open");)e.parentNode.classList.add("open"),e=e.parentNode})}function o(e){t=e.target.getBoundingClientRect().top;var n=d(e.target,"LI",2);n&&(n.classList.contains("open")?(n.classList.remove("open"),setTimeout(function(){n.classList.add("collapse")},0)):(function(e){if(e)for(e.classList.remove("open","active");e&&"sidebar-nav"!==e.className&&e.parentNode;)"LI"!==e.parentNode.tagName&&"app-sub-sidebar"!==e.parentNode.className||e.parentNode.classList.remove("open"),e=e.parentNode}(s()),i(n),setTimeout(function(){n.classList.remove("collapse")},0)),a(n))}function s(){var e=document.querySelector(".sidebar-nav .active");return e||(e=d(document.querySelector('.sidebar-nav a[href="'.concat(decodeURIComponent(location.hash).replace(/ /gi,"%20"),'"]')),"LI",2))&&e.classList.add("active"),e}function i(e){if(e)for(e.classList.add("open","active");e&&"sidebar-nav"!==e.className&&e.parentNode;)"LI"!==e.parentNode.tagName&&"app-sub-sidebar"!==e.parentNode.className||e.parentNode.classList.add("open"),e=e.parentNode}function d(e,n,t){if(e&&e.tagName===n)return e;for(var a=0;e;){if(t<++a)return;if(e.parentNode.tagName===n)return e.parentNode;e=e.parentNode}}e(".sidebar-nav > ul > li ul {\n display: none;\n}\n\n.app-sub-sidebar {\n display: none;\n}\n\n.app-sub-sidebar.open {\n display: block;\n}\n\n.sidebar-nav .open > ul:not(.app-sub-sidebar),\n.sidebar-nav .active:not(.collapse) > ul {\n display: block;\n}\n\n/* 抖动 */\n.sidebar-nav li.open:not(.collapse) > ul {\n display: block;\n}\n\n.active + ul.app-sub-sidebar {\n display: block;\n}\n"),document.addEventListener("scroll",n);e("@media screen and (max-width: 768px) {\n /* 移动端适配 */\n .markdown-section {\n max-width: none;\n padding: 16px;\n }\n /* 改变原来按钮热区大小 */\n .sidebar-toggle {\n padding: 0 0 10px 10px;\n }\n /* my pin */\n .sidebar-pin {\n appearance: none;\n outline: none;\n position: fixed;\n bottom: 0;\n border: none;\n width: 40px;\n height: 40px;\n background: transparent;\n }\n}\n");var r,c="DOCSIFY_SIDEBAR_PIN_FLAG";function l(){var e="true"===(e=localStorage.getItem(c));localStorage.setItem(c,!e),e?(document.querySelector(".sidebar").style.transform="translateX(0)",document.querySelector(".content").style.transform="translateX(0)"):(document.querySelector(".sidebar").style.transform="translateX(300px)",document.querySelector(".content").style.transform="translateX(300px)")}768 ul"),1),a(t),n(e)}),e.ready(function(){document.querySelector(".sidebar-nav").addEventListener("click",o)})})}); \ No newline at end of file diff --git a/asset/docsify.min.js b/asset/docsify.min.js deleted file mode 100644 index 13ee7221c..000000000 --- a/asset/docsify.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(){function s(n){var r=Object.create(null);return function(e){var t=c(e)?e:JSON.stringify(e);return r[t]||(r[t]=n(e))}}var a=s(function(e){return e.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()})}),l=Object.prototype.hasOwnProperty,f=Object.assign||function(e){for(var t=arguments,n=1;n/gm),Ve=$(/^data-[\-\w.\u00B7-\uFFFF]/),Xe=$(/^aria-[\-\w]+$/),Ke=$(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Qe=$(/^(?:\w+script|data):/i),Je=$(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g),et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function tt(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t