From 3249c6c9c4d10ee6cff7402ce3adfcfba3bc5624 Mon Sep 17 00:00:00 2001 From: MarineJoker Date: Thu, 12 Nov 2020 08:17:52 +0800 Subject: [PATCH] =?UTF-8?q?Update=20=E4=BA=8C=E5=88=86=E6=9F=A5=E6=89=BE?= =?UTF-8?q?=E8=AF=A6=E8=A7=A3.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新一些注释 --- ...45\346\211\276\350\257\246\350\247\243.md" | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git "a/\347\256\227\346\263\225\346\200\235\347\273\264\347\263\273\345\210\227/\344\272\214\345\210\206\346\237\245\346\211\276\350\257\246\350\247\243.md" "b/\347\256\227\346\263\225\346\200\235\347\273\264\347\263\273\345\210\227/\344\272\214\345\210\206\346\237\245\346\211\276\350\257\246\350\247\243.md" index 7b95fac..4101b2d 100644 --- "a/\347\256\227\346\263\225\346\200\235\347\273\264\347\263\273\345\210\227/\344\272\214\345\210\206\346\237\245\346\211\276\350\257\246\350\247\243.md" +++ "b/\347\256\227\346\263\225\346\200\235\347\273\264\347\263\273\345\210\227/\344\272\214\345\210\206\346\237\245\346\211\276\350\257\246\350\247\243.md" @@ -537,19 +537,19 @@ def left_bound(nums, target): while left < right: mid = (left + right) // 2 if nums[mid] == target: - # 锁定边界 + # 锁定左侧边界 right = mid elif nums[mid] < target: left = mid + 1 elif nums[mid] > target: right = mid - # 检查越界情况 + # 检查left越界情况 if left >= len(nums) or nums[left] != target: return -1 return left -# 寻找右侧侧边界的二分搜索,开区间写法 +# 寻找右侧边界的二分搜索,开区间写法 def right_bound(nums, target): left, right = 0, len(nums) if right == 0: @@ -557,49 +557,49 @@ def right_bound(nums, target): while left < right: mid = (left + right) // 2 if nums[mid] == target: - # 锁定边界 + # 锁定右侧边界 left = mid + 1 elif nums[mid] < target: left = mid + 1 elif nums[mid] > target: right = mid # 检查越界情况 - if right < 0 or nums[left - 1] != target: + if left == 0 or nums[left - 1] != target: return -1 return left - 1 -# 左右边界闭区间写法,统一逻辑 +# 寻找左侧边界的二分搜索,闭区间写法 def left_bound(nums, target): left, right = 0, len(nums) - 1 while left <= right: mid = (left + right) // 2 if nums[mid] == target: - # 锁定边界 + # 锁定左侧边界 right = mid - 1 elif nums[mid] < target: left = mid + 1 elif nums[mid] > target: right = mid - 1 - # 检查越界情况 + # 检查left越界情况 if left >= len(nums) or nums[left] != target: return -1 return left - +# 寻找右侧边界的二分搜索,闭区间写法 def right_bound(nums, target): left, right = 0, len(nums) - 1 while left <= right: mid = (left + right) // 2 if nums[mid] == target: - # 锁定边界 + # 锁定右侧边界 left = mid + 1 elif nums[mid] < target: left = mid + 1 elif nums[mid] > target: right = mid - 1 - # 检查越界情况 + # 检查right越界情况 if right < 0 or nums[right] != target: return -1 return right -``` \ No newline at end of file +``` -- GitLab