2148. 元素计数
思路:排好序后,统计不和第一个和最后一个元素相等的元素个数ans,这里用的自带的sort,时间复杂度0(nlogn )
class Solution {
public:
int countElements(vector<int>& nums) {
if(nums.size()<3) return 0;
sort(nums.begin(),nums.end());
int ans=0;
int n=nums.size();
for(int i=1;i<n-1;i++){
if(nums[i]!=nums[0]&&nums[i]!=nums[n-1]) ans++;
}
return ans;
}
};
0(n)找到最大和最小的数,时间复杂度0(n)
class Solution {
public:
int countElements(vector<int>& nums) {
if(nums.size()<3) return 0;
int ans=0;
int minn=nums[0],maxx=nums[0];
for(int i=0;i<nums.size();i++){
minn=min(minn,nums[i]);
maxx=max(maxx,nums[i]);
}
for(int i=0;i<nums.size();i++){
if(nums[i]!=minn&&nums[i]!=maxx) ans++;
}
return ans;
}
};