This commit is contained in:
krahets
2023-07-16 04:19:01 +08:00
parent 54b99d13c8
commit dbf682ebc9
110 changed files with 25308 additions and 10305 deletions

View File

@@ -25,7 +25,7 @@
<title>14.2.   一起参与创作 - Hello 算法</title>
<title>15.2.   一起参与创作 - Hello 算法</title>
@@ -79,7 +79,7 @@
<div data-md-component="skip">
<a href="#142" class="md-skip">
<a href="#152" class="md-skip">
跳转至
</a>
@@ -113,7 +113,7 @@
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
14.2. &nbsp; 一起参与创作
15.2. &nbsp; 一起参与创作
</span>
</div>
@@ -1771,18 +1771,12 @@
<div class="md-nav__link md-nav__link--index ">
<a href="../../chapter_backtracking/">12. &nbsp; &nbsp; 回溯</a>
<a href="../../chapter_divide_and_conquer/">12. &nbsp; &nbsp; 分治</a>
<label for="__nav_13">
<span class="md-nav__icon md-icon"></span>
@@ -1793,7 +1787,7 @@
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_13">
<span class="md-nav__icon md-icon"></span>
12. &nbsp; &nbsp; 回溯
12. &nbsp; &nbsp; 分治
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -1805,8 +1799,8 @@
<li class="md-nav__item">
<a href="../../chapter_backtracking/backtracking_algorithm/" class="md-nav__link">
12.1. &nbsp; 回溯算法
<a href="../../chapter_divide_and_conquer/divide_and_conquer/" class="md-nav__link">
12.1. &nbsp; 分治算法New
</a>
</li>
@@ -1819,50 +1813,8 @@
<li class="md-nav__item">
<a href="../../chapter_backtracking/permutations_problem/" class="md-nav__link">
12.2. &nbsp; 全排列问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/subset_sum_problem/" class="md-nav__link">
12.3. &nbsp; 子集和问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/n_queens_problem/" class="md-nav__link">
12.4. &nbsp; N 皇后问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/summary/" class="md-nav__link">
12.5. &nbsp; 小结
<a href="../../chapter_divide_and_conquer/build_binary_tree/" class="md-nav__link">
12.2. &nbsp; 构建树问题New
</a>
</li>
@@ -1905,17 +1857,13 @@
<div class="md-nav__link md-nav__link--index ">
<a href="../../chapter_dynamic_programming/">13. &nbsp; &nbsp; 动态规划</a>
<a href="../../chapter_backtracking/">13. &nbsp; &nbsp; 回溯</a>
<label for="__nav_14">
<span class="md-nav__icon md-icon"></span>
@@ -1926,7 +1874,140 @@
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_14">
<span class="md-nav__icon md-icon"></span>
13. &nbsp; &nbsp; 动态规划
13. &nbsp; &nbsp; 回溯
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../chapter_backtracking/backtracking_algorithm/" class="md-nav__link">
13.1. &nbsp; 回溯算法
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/permutations_problem/" class="md-nav__link">
13.2. &nbsp; 全排列问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/subset_sum_problem/" class="md-nav__link">
13.3. &nbsp; 子集和问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/n_queens_problem/" class="md-nav__link">
13.4. &nbsp; N 皇后问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/summary/" class="md-nav__link">
13.5. &nbsp; 小结
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
<div class="md-nav__link md-nav__link--index ">
<a href="../../chapter_dynamic_programming/">14. &nbsp; &nbsp; 动态规划</a>
<label for="__nav_15">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_15_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_15">
<span class="md-nav__icon md-icon"></span>
14. &nbsp; &nbsp; 动态规划
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -1939,7 +2020,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/intro_to_dynamic_programming/" class="md-nav__link">
13.1. &nbsp; 初探动态规划New
14.1. &nbsp; 初探动态规划New
</a>
</li>
@@ -1953,7 +2034,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/dp_problem_features/" class="md-nav__link">
13.2. &nbsp; DP 问题特性New
14.2. &nbsp; DP 问题特性New
</a>
</li>
@@ -1967,7 +2048,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/dp_solution_pipeline/" class="md-nav__link">
13.3. &nbsp; DP 解题思路New
14.3. &nbsp; DP 解题思路New
</a>
</li>
@@ -1981,7 +2062,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/knapsack_problem/" class="md-nav__link">
13.4. &nbsp; 0-1 背包问题New
14.4. &nbsp; 0-1 背包问题New
</a>
</li>
@@ -1995,7 +2076,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/unbounded_knapsack_problem/" class="md-nav__link">
13.5. &nbsp; 完全背包问题New
14.5. &nbsp; 完全背包问题New
</a>
</li>
@@ -2009,7 +2090,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/edit_distance_problem/" class="md-nav__link">
13.6. &nbsp; 编辑距离问题New
14.6. &nbsp; 编辑距离问题New
</a>
</li>
@@ -2023,7 +2104,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/summary/" class="md-nav__link">
13.7. &nbsp; 小结New
14.7. &nbsp; 小结New
</a>
</li>
@@ -2051,7 +2132,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" checked>
@@ -2061,15 +2142,15 @@
<label class="md-nav__link" for="__nav_15" id="__nav_15_label" tabindex="0">
14. &nbsp; &nbsp; 附录
<label class="md-nav__link" for="__nav_16" id="__nav_16_label" tabindex="0">
15. &nbsp; &nbsp; 附录
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_15_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_15">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_16">
<span class="md-nav__icon md-icon"></span>
14. &nbsp; &nbsp; 附录
15. &nbsp; &nbsp; 附录
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -2080,7 +2161,7 @@
<li class="md-nav__item">
<a href="../installation/" class="md-nav__link">
14.1. &nbsp; 编程环境安装
15.1. &nbsp; 编程环境安装
</a>
</li>
@@ -2103,12 +2184,12 @@
<label class="md-nav__link md-nav__link--active" for="__toc">
14.2. &nbsp; 一起参与创作
15.2. &nbsp; 一起参与创作
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
14.2. &nbsp; 一起参与创作
15.2. &nbsp; 一起参与创作
</a>
@@ -2127,22 +2208,22 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#1421" class="md-nav__link">
14.2.1. &nbsp; 内容微调
<a href="#1521" class="md-nav__link">
15.2.1. &nbsp; 内容微调
</a>
</li>
<li class="md-nav__item">
<a href="#1422" class="md-nav__link">
14.2.2. &nbsp; 内容创作
<a href="#1522" class="md-nav__link">
15.2.2. &nbsp; 内容创作
</a>
</li>
<li class="md-nav__item">
<a href="#1423-docker" class="md-nav__link">
14.2.3. &nbsp; Docker 部署
<a href="#1523-docker" class="md-nav__link">
15.2.3. &nbsp; Docker 部署
</a>
</li>
@@ -2175,7 +2256,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
@@ -2192,8 +2273,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_16">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
参考文献
</label>
@@ -2234,22 +2315,22 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#1421" class="md-nav__link">
14.2.1. &nbsp; 内容微调
<a href="#1521" class="md-nav__link">
15.2.1. &nbsp; 内容微调
</a>
</li>
<li class="md-nav__item">
<a href="#1422" class="md-nav__link">
14.2.2. &nbsp; 内容创作
<a href="#1522" class="md-nav__link">
15.2.2. &nbsp; 内容创作
</a>
</li>
<li class="md-nav__item">
<a href="#1423-docker" class="md-nav__link">
14.2.3. &nbsp; Docker 部署
<a href="#1523-docker" class="md-nav__link">
15.2.3. &nbsp; Docker 部署
</a>
</li>
@@ -2277,13 +2358,13 @@
<h1 id="142">14.2. &nbsp; 一起参与创作<a class="headerlink" href="#142" title="Permanent link">&para;</a></h1>
<h1 id="152">15.2. &nbsp; 一起参与创作<a class="headerlink" href="#152" title="Permanent link">&para;</a></h1>
<div class="admonition success">
<p class="admonition-title">开源的魅力</p>
<p>纸质书籍的两次印刷的间隔时间往往需要数年,内容更新非常不方便。</br>但在本开源书中,内容更迭的时间被缩短至数日甚至几个小时。</p>
</div>
<p>由于作者能力有限,书中难免存在一些遗漏和错误,请您谅解。如果您发现了笔误、失效链接、内容缺失、文字歧义、解释不清晰或行文结构不合理等问题,请协助我们进行修正,以帮助其他读者获得更优质的学习资源。所有<a href="https://github.com/krahets/hello-algo/graphs/contributors">撰稿人</a>将在仓库和网站主页上展示,以感谢他们对开源社区的无私奉献!</p>
<h2 id="1421">14.2.1. &nbsp; 内容微调<a class="headerlink" href="#1421" title="Permanent link">&para;</a></h2>
<h2 id="1521">15.2.1. &nbsp; 内容微调<a class="headerlink" href="#1521" title="Permanent link">&para;</a></h2>
<p>在每个页面的右上角有一个「编辑」图标,您可以按照以下步骤修改文本或代码:</p>
<ol>
<li>点击编辑按钮,如果遇到“需要 Fork 此仓库”的提示,请同意该操作;</li>
@@ -2294,7 +2375,7 @@
<p align="center"> Fig. 页面编辑按键 </p>
<p>由于图片无法直接修改,因此需要通过新建 <a href="https://github.com/krahets/hello-algo/issues">Issue</a> 或评论留言来描述图片问题,我们会尽快重新绘制并替换图片。</p>
<h2 id="1422">14.2.2. &nbsp; 内容创作<a class="headerlink" href="#1422" title="Permanent link">&para;</a></h2>
<h2 id="1522">15.2.2. &nbsp; 内容创作<a class="headerlink" href="#1522" title="Permanent link">&para;</a></h2>
<p>如果您有兴趣参与此开源项目,包括将代码翻译成其他编程语言、扩展文章内容等,那么需要实施 Pull Request 工作流程:</p>
<ol>
<li>登录 GitHub ,将<a href="https://github.com/krahets/hello-algo">本仓库</a> Fork 到个人账号下;</li>
@@ -2303,7 +2384,7 @@
<li>将本地所做更改 Commit ,然后 Push 至远程仓库;</li>
<li>刷新仓库网页点击“Create pull request”按钮即可发起拉取请求</li>
</ol>
<h2 id="1423-docker">14.2.3. &nbsp; Docker 部署<a class="headerlink" href="#1423-docker" title="Permanent link">&para;</a></h2>
<h2 id="1523-docker">15.2.3. &nbsp; Docker 部署<a class="headerlink" href="#1523-docker" title="Permanent link">&para;</a></h2>
<p>我们可以通过 Docker 来部署本项目。执行以下脚本,稍等片刻后,即可使用浏览器打开 <code>http://localhost:8000</code> 来访问本项目。</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-0-1" name="__codelineno-0-1" href="#__codelineno-0-1"></a>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/krahets/hello-algo.git
<a id="__codelineno-0-2" name="__codelineno-0-2" href="#__codelineno-0-2"></a><span class="nb">cd</span><span class="w"> </span>hello-algo
@@ -2389,7 +2470,7 @@
<nav class="md-footer__inner md-grid" aria-label="页脚" >
<a href="../installation/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 14.1. &amp;nbsp; 编程环境安装" rel="prev">
<a href="../installation/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 15.1. &amp;nbsp; 编程环境安装" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</div>
@@ -2398,7 +2479,7 @@
上一页
</span>
<div class="md-ellipsis">
14.1. &nbsp; 编程环境安装
15.1. &nbsp; 编程环境安装
</div>
</div>
</a>

View File

@@ -25,7 +25,7 @@
<title>14.1.   编程环境安装 - Hello 算法</title>
<title>15.1.   编程环境安装 - Hello 算法</title>
@@ -79,7 +79,7 @@
<div data-md-component="skip">
<a href="#141" class="md-skip">
<a href="#151" class="md-skip">
跳转至
</a>
@@ -113,7 +113,7 @@
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
14.1. &nbsp; 编程环境安装
15.1. &nbsp; 编程环境安装
</span>
</div>
@@ -1771,18 +1771,12 @@
<div class="md-nav__link md-nav__link--index ">
<a href="../../chapter_backtracking/">12. &nbsp; &nbsp; 回溯</a>
<a href="../../chapter_divide_and_conquer/">12. &nbsp; &nbsp; 分治</a>
<label for="__nav_13">
<span class="md-nav__icon md-icon"></span>
@@ -1793,7 +1787,7 @@
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_13_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_13">
<span class="md-nav__icon md-icon"></span>
12. &nbsp; &nbsp; 回溯
12. &nbsp; &nbsp; 分治
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -1805,8 +1799,8 @@
<li class="md-nav__item">
<a href="../../chapter_backtracking/backtracking_algorithm/" class="md-nav__link">
12.1. &nbsp; 回溯算法
<a href="../../chapter_divide_and_conquer/divide_and_conquer/" class="md-nav__link">
12.1. &nbsp; 分治算法New
</a>
</li>
@@ -1819,50 +1813,8 @@
<li class="md-nav__item">
<a href="../../chapter_backtracking/permutations_problem/" class="md-nav__link">
12.2. &nbsp; 全排列问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/subset_sum_problem/" class="md-nav__link">
12.3. &nbsp; 子集和问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/n_queens_problem/" class="md-nav__link">
12.4. &nbsp; N 皇后问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/summary/" class="md-nav__link">
12.5. &nbsp; 小结
<a href="../../chapter_divide_and_conquer/build_binary_tree/" class="md-nav__link">
12.2. &nbsp; 构建树问题New
</a>
</li>
@@ -1905,17 +1857,13 @@
<div class="md-nav__link md-nav__link--index ">
<a href="../../chapter_dynamic_programming/">13. &nbsp; &nbsp; 动态规划</a>
<a href="../../chapter_backtracking/">13. &nbsp; &nbsp; 回溯</a>
<label for="__nav_14">
<span class="md-nav__icon md-icon"></span>
@@ -1926,7 +1874,140 @@
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_14_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_14">
<span class="md-nav__icon md-icon"></span>
13. &nbsp; &nbsp; 动态规划
13. &nbsp; &nbsp; 回溯
</label>
<ul class="md-nav__list" data-md-scrollfix>
<li class="md-nav__item">
<a href="../../chapter_backtracking/backtracking_algorithm/" class="md-nav__link">
13.1. &nbsp; 回溯算法
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/permutations_problem/" class="md-nav__link">
13.2. &nbsp; 全排列问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/subset_sum_problem/" class="md-nav__link">
13.3. &nbsp; 子集和问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/n_queens_problem/" class="md-nav__link">
13.4. &nbsp; N 皇后问题
</a>
</li>
<li class="md-nav__item">
<a href="../../chapter_backtracking/summary/" class="md-nav__link">
13.5. &nbsp; 小结
</a>
</li>
</ul>
</nav>
</li>
<li class="md-nav__item md-nav__item--nested">
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" >
<div class="md-nav__link md-nav__link--index ">
<a href="../../chapter_dynamic_programming/">14. &nbsp; &nbsp; 动态规划</a>
<label for="__nav_15">
<span class="md-nav__icon md-icon"></span>
</label>
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_15_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_15">
<span class="md-nav__icon md-icon"></span>
14. &nbsp; &nbsp; 动态规划
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -1939,7 +2020,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/intro_to_dynamic_programming/" class="md-nav__link">
13.1. &nbsp; 初探动态规划New
14.1. &nbsp; 初探动态规划New
</a>
</li>
@@ -1953,7 +2034,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/dp_problem_features/" class="md-nav__link">
13.2. &nbsp; DP 问题特性New
14.2. &nbsp; DP 问题特性New
</a>
</li>
@@ -1967,7 +2048,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/dp_solution_pipeline/" class="md-nav__link">
13.3. &nbsp; DP 解题思路New
14.3. &nbsp; DP 解题思路New
</a>
</li>
@@ -1981,7 +2062,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/knapsack_problem/" class="md-nav__link">
13.4. &nbsp; 0-1 背包问题New
14.4. &nbsp; 0-1 背包问题New
</a>
</li>
@@ -1995,7 +2076,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/unbounded_knapsack_problem/" class="md-nav__link">
13.5. &nbsp; 完全背包问题New
14.5. &nbsp; 完全背包问题New
</a>
</li>
@@ -2009,7 +2090,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/edit_distance_problem/" class="md-nav__link">
13.6. &nbsp; 编辑距离问题New
14.6. &nbsp; 编辑距离问题New
</a>
</li>
@@ -2023,7 +2104,7 @@
<li class="md-nav__item">
<a href="../../chapter_dynamic_programming/summary/" class="md-nav__link">
13.7. &nbsp; 小结New
14.7. &nbsp; 小结New
</a>
</li>
@@ -2051,7 +2132,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_15" checked>
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" checked>
@@ -2061,15 +2142,15 @@
<label class="md-nav__link" for="__nav_15" id="__nav_15_label" tabindex="0">
14. &nbsp; &nbsp; 附录
<label class="md-nav__link" for="__nav_16" id="__nav_16_label" tabindex="0">
15. &nbsp; &nbsp; 附录
<span class="md-nav__icon md-icon"></span>
</label>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_15_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_15">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="true">
<label class="md-nav__title" for="__nav_16">
<span class="md-nav__icon md-icon"></span>
14. &nbsp; &nbsp; 附录
15. &nbsp; &nbsp; 附录
</label>
<ul class="md-nav__list" data-md-scrollfix>
@@ -2089,12 +2170,12 @@
<label class="md-nav__link md-nav__link--active" for="__toc">
14.1. &nbsp; 编程环境安装
15.1. &nbsp; 编程环境安装
<span class="md-nav__icon md-icon"></span>
</label>
<a href="./" class="md-nav__link md-nav__link--active">
14.1. &nbsp; 编程环境安装
15.1. &nbsp; 编程环境安装
</a>
@@ -2113,64 +2194,64 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#1411-vscode" class="md-nav__link">
14.1.1. &nbsp; VSCode
<a href="#1511-vscode" class="md-nav__link">
15.1.1. &nbsp; VSCode
</a>
</li>
<li class="md-nav__item">
<a href="#1412-java" class="md-nav__link">
14.1.2. &nbsp; Java 环境
<a href="#1512-java" class="md-nav__link">
15.1.2. &nbsp; Java 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1413-cc" class="md-nav__link">
14.1.3. &nbsp; C/C++ 环境
<a href="#1513-cc" class="md-nav__link">
15.1.3. &nbsp; C/C++ 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1414-python" class="md-nav__link">
14.1.4. &nbsp; Python 环境
<a href="#1514-python" class="md-nav__link">
15.1.4. &nbsp; Python 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1415-go" class="md-nav__link">
14.1.5. &nbsp; Go 环境
<a href="#1515-go" class="md-nav__link">
15.1.5. &nbsp; Go 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1416-javascript" class="md-nav__link">
14.1.6. &nbsp; JavaScript 环境
<a href="#1516-javascript" class="md-nav__link">
15.1.6. &nbsp; JavaScript 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1417-c" class="md-nav__link">
14.1.7. &nbsp; C# 环境
<a href="#1517-c" class="md-nav__link">
15.1.7. &nbsp; C# 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1418-swift" class="md-nav__link">
14.1.8. &nbsp; Swift 环境
<a href="#1518-swift" class="md-nav__link">
15.1.8. &nbsp; Swift 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1419-rust" class="md-nav__link">
14.1.9. &nbsp; Rust 环境
<a href="#1519-rust" class="md-nav__link">
15.1.9. &nbsp; Rust 环境
</a>
</li>
@@ -2191,7 +2272,7 @@
<li class="md-nav__item">
<a href="../contribution/" class="md-nav__link">
14.2. &nbsp; 一起参与创作
15.2. &nbsp; 一起参与创作
</a>
</li>
@@ -2217,7 +2298,7 @@
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_16" >
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_17" >
@@ -2234,8 +2315,8 @@
</div>
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_16_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_16">
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_17_label" aria-expanded="false">
<label class="md-nav__title" for="__nav_17">
<span class="md-nav__icon md-icon"></span>
参考文献
</label>
@@ -2276,64 +2357,64 @@
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
<li class="md-nav__item">
<a href="#1411-vscode" class="md-nav__link">
14.1.1. &nbsp; VSCode
<a href="#1511-vscode" class="md-nav__link">
15.1.1. &nbsp; VSCode
</a>
</li>
<li class="md-nav__item">
<a href="#1412-java" class="md-nav__link">
14.1.2. &nbsp; Java 环境
<a href="#1512-java" class="md-nav__link">
15.1.2. &nbsp; Java 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1413-cc" class="md-nav__link">
14.1.3. &nbsp; C/C++ 环境
<a href="#1513-cc" class="md-nav__link">
15.1.3. &nbsp; C/C++ 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1414-python" class="md-nav__link">
14.1.4. &nbsp; Python 环境
<a href="#1514-python" class="md-nav__link">
15.1.4. &nbsp; Python 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1415-go" class="md-nav__link">
14.1.5. &nbsp; Go 环境
<a href="#1515-go" class="md-nav__link">
15.1.5. &nbsp; Go 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1416-javascript" class="md-nav__link">
14.1.6. &nbsp; JavaScript 环境
<a href="#1516-javascript" class="md-nav__link">
15.1.6. &nbsp; JavaScript 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1417-c" class="md-nav__link">
14.1.7. &nbsp; C# 环境
<a href="#1517-c" class="md-nav__link">
15.1.7. &nbsp; C# 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1418-swift" class="md-nav__link">
14.1.8. &nbsp; Swift 环境
<a href="#1518-swift" class="md-nav__link">
15.1.8. &nbsp; Swift 环境
</a>
</li>
<li class="md-nav__item">
<a href="#1419-rust" class="md-nav__link">
14.1.9. &nbsp; Rust 环境
<a href="#1519-rust" class="md-nav__link">
15.1.9. &nbsp; Rust 环境
</a>
</li>
@@ -2361,49 +2442,49 @@
<h1 id="141">14.1. &nbsp; 编程环境安装<a class="headerlink" href="#141" title="Permanent link">&para;</a></h1>
<h2 id="1411-vscode">14.1.1. &nbsp; VSCode<a class="headerlink" href="#1411-vscode" title="Permanent link">&para;</a></h2>
<h1 id="151">15.1. &nbsp; 编程环境安装<a class="headerlink" href="#151" title="Permanent link">&para;</a></h1>
<h2 id="1511-vscode">15.1.1. &nbsp; VSCode<a class="headerlink" href="#1511-vscode" title="Permanent link">&para;</a></h2>
<p>本书推荐使用开源轻量的 VSCode 作为本地 IDE ,下载并安装 <a href="https://code.visualstudio.com/">VSCode</a></p>
<h2 id="1412-java">14.1.2. &nbsp; Java 环境<a class="headerlink" href="#1412-java" title="Permanent link">&para;</a></h2>
<h2 id="1512-java">15.1.2. &nbsp; Java 环境<a class="headerlink" href="#1512-java" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://jdk.java.net/18/">OpenJDK</a>(版本需满足 &gt; JDK 9</li>
<li>在 VSCode 的插件市场中搜索 <code>java</code> ,安装 Extension Pack for Java 。</li>
</ol>
<h2 id="1413-cc">14.1.3. &nbsp; C/C++ 环境<a class="headerlink" href="#1413-cc" title="Permanent link">&para;</a></h2>
<h2 id="1513-cc">15.1.3. &nbsp; C/C++ 环境<a class="headerlink" href="#1513-cc" title="Permanent link">&para;</a></h2>
<ol>
<li>Windows 系统需要安装 <a href="https://sourceforge.net/projects/mingw-w64/files/">MinGW</a><a href="https://blog.csdn.net/qq_33698226/article/details/129031241">配置教程</a>MacOS 自带 Clang 无需安装。</li>
<li>在 VSCode 的插件市场中搜索 <code>c++</code> ,安装 C/C++ Extension Pack 。</li>
<li>(可选)打开 Settings 页面,搜索 <code>Clang_format_fallback Style</code> 代码格式化选项,设置为 <code>{ BasedOnStyle: Microsoft, BreakBeforeBraces: Attach }</code></li>
</ol>
<h2 id="1414-python">14.1.4. &nbsp; Python 环境<a class="headerlink" href="#1414-python" title="Permanent link">&para;</a></h2>
<h2 id="1514-python">15.1.4. &nbsp; Python 环境<a class="headerlink" href="#1514-python" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://docs.conda.io/en/latest/miniconda.html">Miniconda3</a></li>
<li>在 VSCode 的插件市场中搜索 <code>python</code> ,安装 Python Extension Pack 。</li>
<li>(可选)在命令行输入 <code>pip install black</code> ,安装代码格式化工具。</li>
</ol>
<h2 id="1415-go">14.1.5. &nbsp; Go 环境<a class="headerlink" href="#1415-go" title="Permanent link">&para;</a></h2>
<h2 id="1515-go">15.1.5. &nbsp; Go 环境<a class="headerlink" href="#1515-go" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://go.dev/dl/">go</a></li>
<li>在 VSCode 的插件市场中搜索 <code>go</code> ,安装 Go 。</li>
<li>快捷键 <code>Ctrl + Shift + P</code> 呼出命令栏,输入 go ,选择 <code>Go: Install/Update Tools</code> ,全部勾选并安装即可。</li>
</ol>
<h2 id="1416-javascript">14.1.6. &nbsp; JavaScript 环境<a class="headerlink" href="#1416-javascript" title="Permanent link">&para;</a></h2>
<h2 id="1516-javascript">15.1.6. &nbsp; JavaScript 环境<a class="headerlink" href="#1516-javascript" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://nodejs.org/en/">node.js</a></li>
<li>在 VSCode 的插件市场中搜索 <code>javascript</code> ,安装 JavaScript (ES6) code snippets 。</li>
<li>(可选)在 VSCode 的插件市场中搜索 <code>Prettier</code> ,安装代码格式化工具。</li>
</ol>
<h2 id="1417-c">14.1.7. &nbsp; C# 环境<a class="headerlink" href="#1417-c" title="Permanent link">&para;</a></h2>
<h2 id="1517-c">15.1.7. &nbsp; C# 环境<a class="headerlink" href="#1517-c" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://dotnet.microsoft.com/en-us/download">.Net 6.0</a> </li>
<li>在 VSCode 的插件市场中搜索 <code>c#</code> ,安装 c# 。</li>
</ol>
<h2 id="1418-swift">14.1.8. &nbsp; Swift 环境<a class="headerlink" href="#1418-swift" title="Permanent link">&para;</a></h2>
<h2 id="1518-swift">15.1.8. &nbsp; Swift 环境<a class="headerlink" href="#1518-swift" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://www.swift.org/download/">Swift</a></li>
<li>在 VSCode 的插件市场中搜索 <code>swift</code> ,安装 <a href="https://marketplace.visualstudio.com/items?itemName=sswg.swift-lang">Swift for Visual Studio Code</a></li>
</ol>
<h2 id="1419-rust">14.1.9. &nbsp; Rust 环境<a class="headerlink" href="#1419-rust" title="Permanent link">&para;</a></h2>
<h2 id="1519-rust">15.1.9. &nbsp; Rust 环境<a class="headerlink" href="#1519-rust" title="Permanent link">&para;</a></h2>
<ol>
<li>下载并安装 <a href="https://www.rust-lang.org/tools/install">Rust</a></li>
<li>在 VSCode 的插件市场中搜索 <code>rust</code> ,安装 <a href="https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer">rust-analyzer</a></li>
@@ -2485,7 +2566,7 @@
<nav class="md-footer__inner md-grid" aria-label="页脚" >
<a href="../../chapter_dynamic_programming/summary/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 13.7. &amp;nbsp; 小结New" rel="prev">
<a href="../../chapter_dynamic_programming/summary/" class="md-footer__link md-footer__link--prev" aria-label="上一页: 14.7. &amp;nbsp; 小结New" rel="prev">
<div class="md-footer__button md-icon">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
</div>
@@ -2494,20 +2575,20 @@
上一页
</span>
<div class="md-ellipsis">
13.7. &nbsp; 小结New
14.7. &nbsp; 小结New
</div>
</div>
</a>
<a href="../contribution/" class="md-footer__link md-footer__link--next" aria-label="下一页: 14.2. &amp;nbsp; 一起参与创作" rel="next">
<a href="../contribution/" class="md-footer__link md-footer__link--next" aria-label="下一页: 15.2. &amp;nbsp; 一起参与创作" rel="next">
<div class="md-footer__title">
<span class="md-footer__direction">
下一页
</span>
<div class="md-ellipsis">
14.2. &nbsp; 一起参与创作
15.2. &nbsp; 一起参与创作
</div>
</div>
<div class="md-footer__button md-icon">