剑指 Offer 53 - I. 在排序数组中查找数字 I(二分法)
生活随笔
收集整理的這篇文章主要介紹了
剑指 Offer 53 - I. 在排序数组中查找数字 I(二分法)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
統(tǒng)計(jì)一個(gè)數(shù)字在排序數(shù)組中出現(xiàn)的次數(shù)。
示例 1:
輸入: nums = [5,7,7,8,8,10], target = 8
輸出: 2
示例 2:
輸入: nums = [5,7,7,8,8,10], target = 6
輸出: 0
限制:
0 <= 數(shù)組長(zhǎng)度 <= 50000
解題思路
代碼
class Solution {public int search(int[] nums, int target) {int l = 0, r = nums.length - 1;while (l <= r) {int mid = (r - l) / 2 + l;if (nums[mid] == target) {int left = mid-1, right = mid+1;while (left >= 0 && nums[left] == target)left--;while (right < nums.length && nums[right] == target)right++;return right - left - 1;} else if (nums[mid] > target)r = mid - 1;else l = mid + 1;}return 0;} }總結(jié)
以上是生活随笔為你收集整理的剑指 Offer 53 - I. 在排序数组中查找数字 I(二分法)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 晚上做梦梦到捕鱼是什么意思
- 下一篇: 面试题 10.02. 变位词组