Update 53. 数字在排序数组中出现的次数.md

示例代码块的语言标注改为 text,第一人称改为客观陈述。
This commit is contained in:
CyC2018
2026-10-28 22:51:21 +08:00
parent 978854a657
commit e0be1230eb
@@ -6,7 +6,7 @@
## 题目描述
```html
```text
Input:
nums = 1, 2, 3, 3, 3, 3, 4, 6
K = 3
@@ -82,4 +82,4 @@ private int binarySearch(int[] nums, int target) {
nums = [2,2], k = 2
```
如果 h 的取值为 nums.length - 1,那么在查找最后一个位置时,binarySearch(nums, k + 1) - 1 = 1 - 1 = 0。这是因为 binarySearch 只会返回 [0, nums.length - 1] 范围的值,对于 binarySearch([2,2], 3) ,我们希望返回 3 插入 nums 中的位置,也就是数组最后一个位置再往后一个位置,即 nums.length。所以我们需要将 h 取值为 nums.length,从而使得 binarySearch 返回的区间更大,能够覆盖 k 大于 nums 最后一个元素的情况。
如果 h 的取值为 nums.length - 1,那么在查找最后一个位置时,binarySearch(nums, k + 1) - 1 = 1 - 1 = 0。这是因为 binarySearch 只会返回 [0, nums.length - 1] 范围的值,而 binarySearch([2,2], 3) 应该返回 3 插入 nums 中的位置,也就是数组最后一个位置再往后一个位置,即 nums.length。所以需要将 h 取值为 nums.length,从而使得 binarySearch 返回的区间更大,能够覆盖 k 大于 nums 最后一个元素的情况。