5989. 元素计数

Alex_Shen
2022-03-29 / 0 评论 / 0 点赞 / 127 阅读 / 532 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-03-31,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

给你一个整数数组 nums ,统计并返回在 nums 中同时具有一个严格较小元素和一个严格较大元素的元素数目。

示例 1:

输入:nums = [11,7,2,15]
输出:2
解释:元素 7 :严格较小元素是元素 2 ,严格较大元素是元素 11 。
元素 11 :严格较小元素是元素 7 ,严格较大元素是元素 15 。
总计有 2 个元素都满足在 nums 中同时存在一个严格较小元素和一个严格较大元素。

思路:

非最大/最小元素数量

代码:

class Solution {
public:
    int countElements(vector<int>& nums) {
        if(nums.size()<=2)
            return 0;
        sort(nums.begin(),nums.end());
        int cnt=2;
        if(nums[0]==nums[nums.size()-1])
            return 0;
        for(int i=1;i<nums.size()&&nums[i]==nums[0];i++)
            cnt++;
        for(int i=nums.size()-2;i>=0&&nums[i]==nums[nums.size()-1];i--)
            cnt++;
        return nums.size()-cnt;
    }
};
0

评论区