[简单-剑指 Offer 53 - I. 在排序数组中查找数字 I]

时间:2020-09-20
本文章向大家介绍[简单-剑指 Offer 53 - I. 在排序数组中查找数字 I],主要包括[简单-剑指 Offer 53 - I. 在排序数组中查找数字 I]使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

[简单-剑指 Offer 53 - I. 在排序数组中查找数字 I]

统计一个数字在排序数组中出现的次数。

示例 1:

输入: nums = [5,7,7,8,8,10], target = 8
输出: 2

示例 2:

输入: nums = [5,7,7,8,8,10], target = 6
输出: 0

限制:

0 <= 数组长度 <= 50000

方法1:使用multiset数据结构的count函数,直接计算某个数字在数据结构中的个数

class Solution {
public:
    multiset<int>mySet;

public:
    int search(vector<int>& nums, int target) {
        int size = nums.size();
        for (int i = 0; i<size; i++) {
            mySet.insert(nums[i]);
        }
        return mySet.count(target);
    }
};

方法2:遍历数组,一个个判断数组元素是否与目标数值相同,相同则加1

class Solution {
public:
    int search(vector<int>& nums, int target) {
        int size = nums.size();
        int count = 0;
        for (int i = 0; i<size; i++) {
            if (target == nums[i]) {
                count++;
            }
        }
        return count;
    }
};

原文地址:https://www.cnblogs.com/wangdongfang/p/13701090.html