From 193f67f99e5073e8093bdf84223fb0c3868c729f Mon Sep 17 00:00:00 2001 From: Yudong Jin Date: Tue, 29 Nov 2022 03:26:50 +0800 Subject: [PATCH] Update binary search --- docs/chapter_searching/binary_search.md | 29 ++++++++++++++++++++----- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/docs/chapter_searching/binary_search.md b/docs/chapter_searching/binary_search.md index 80709cd..59b7598 100644 --- a/docs/chapter_searching/binary_search.md +++ b/docs/chapter_searching/binary_search.md @@ -169,12 +169,29 @@ $$ 当数组长度很大时,加法 $i + j$ 的结果有可能会超出 `int` 类型的取值范围。在此情况下,我们需要换一种计算中点的写法。 -```java -// (i + j) 有可能超出 int 的取值范围 -int m = (i + j) / 2; -// 更换为此写法则不会越界 -int m = i + (j - i) / 2; -``` +=== "Java" + + ```java + // (i + j) 有可能超出 int 的取值范围 + int m = (i + j) / 2; + // 更换为此写法则不会越界 + int m = i + (j - i) / 2; + ``` +=== "C++" + + ```cpp + // (i + j) 有可能超出 int 的取值范围 + int m = (i + j) / 2; + // 更换为此写法则不会越界 + int m = i + (j - i) / 2; + ``` + +=== "Python" + + ```py + # Python 中的数字理论上可以无限大(取决于内存) + # 因此无需考虑大数越界问题 + ``` ## 复杂度分析