From 596e35aa7474efe178120989c059c0304770cb7f Mon Sep 17 00:00:00 2001 From: krahets Date: Fri, 8 Dec 2023 03:06:23 +0800 Subject: [PATCH] build --- docs/chapter_sorting/summary.md | 2 +- overrides/javascripts/mathjax.js | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/chapter_sorting/summary.md b/docs/chapter_sorting/summary.md index 1e4739fb0..34d54aad3 100644 --- a/docs/chapter_sorting/summary.md +++ b/docs/chapter_sorting/summary.md @@ -34,7 +34,7 @@ comments: true 不行,当我们以最左端元素为基准数时,必须先“从右往左查找”再“从左往右查找”。这个结论有些反直觉,我们来剖析一下原因。 - 哨兵划分 `partition()` 的最后一步是交换 `nums[left]` 和 `nums[i]` 。完成交换后,基准数左边的元素都 `<=` 基准数,**这就要求最后一步交换前 `nums[left] >= nums[i]` 必须成立**。假设我们先“从左往右查找”,那么如果找不到比基准数更小的元素,**则会在 `i == j` 时跳出循环,此时可能 `nums[j] == nums[i] > nums[left]`**。也就是说,此时最后一步交换操作会把一个比基准数更大的元素交换至数组最左端,导致哨兵划分失败。 + 哨兵划分 `partition()` 的最后一步是交换 `nums[left]` 和 `nums[i]` 。完成交换后,基准数左边的元素都 `<=` 基准数,**这就要求最后一步交换前 `nums[left] >= nums[i]` 必须成立**。假设我们先“从左往右查找”,那么如果找不到比基准数更大的元素,**则会在 `i == j` 时跳出循环,此时可能 `nums[j] == nums[i] > nums[left]`**。也就是说,此时最后一步交换操作会把一个比基准数更大的元素交换至数组最左端,导致哨兵划分失败。 举个例子,给定数组 `[0, 0, 0, 0, 1]` ,如果先“从左向右查找”,哨兵划分后数组为 `[1, 0, 0, 0, 0]` ,这个结果是不正确的。 diff --git a/overrides/javascripts/mathjax.js b/overrides/javascripts/mathjax.js index 117b04607..0631320c7 100644 --- a/overrides/javascripts/mathjax.js +++ b/overrides/javascripts/mathjax.js @@ -8,6 +8,7 @@ window.MathJax = { options: { ignoreHtmlClass: ".*|", processHtmlClass: "arithmatex", + enableMenu: false, }, };