leetcode-在排序数组中查找数字 I-51
Posted 天津 唐秙
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-在排序数组中查找数字 I-51相关的知识,希望对你有一定的参考价值。
题目要求
统计一个数字在排序数组中出现的次数。
思路
将数组进行排序,这块虽然题目已经说过是有序数组,但是我们为了增加代码的能力,手动添加了一个排序,然后遍历数组找目标值,如果没有返回0,如果有,统计目标值和目标值的下一位,直到找到下一位和目标值不同的值,统计目标值出现的次数。
代码实现
#include <algorithm>
class Solution {
public:
int search(vector<int>& nums, int target) {
if (nums.size() == 0)
return 0;
sort(nums.begin(), nums.end());
int i = 0;
while (i < nums.size() && nums[i] != target)
i++;
if (i >= nums.size())
return 0;
int j = i + 1;
int total = 1;
while (j < nums.size() && nums[i] == nums[j])
{
j++;
total++;
}
return total;
}
};
以上是关于leetcode-在排序数组中查找数字 I-51的主要内容,如果未能解决你的问题,请参考以下文章
[LeetCode]剑指 Offer 53 - I. 在排序数组中查找数字 I
[LeetCode]面试题53 - I. 在排序数组中查找数字 I(二分)
LeetCode(剑指 Offer)- 53 - I. 在排序数组中查找数字 I
LeetCode(剑指 Offer)- 53 - I. 在排序数组中查找数字 I
LeetCode 剑指Offer 53 - I 在排序数组中查找数字I[二分法] HERODING的LeetCode之路