做网站的语言,dw网页制作实训总结,在线网页编辑平台,手机单页网站生成系统题目描述
给你一个整数数组 nums #xff0c;统计并返回在 nums 中同时至少具有一个严格较小元素和一个严格较大元素的元素数目。
示例 1#xff1a;
输入#xff1a;nums [11,7,2,15] 输出#xff1a;2 解释#xff1a;元素 7 #xff1a;严格较小元素是元素 2 统计并返回在 nums 中同时至少具有一个严格较小元素和一个严格较大元素的元素数目。
示例 1
输入nums [11,7,2,15] 输出2 解释元素 7 严格较小元素是元素 2 严格较大元素是元素 11 。 元素 11 严格较小元素是元素 7 严格较大元素是元素 15 。 总计有 2 个元素都满足在 nums 中同时存在一个严格较小元素和一个严格较大元素。 示例 2
输入nums [-3,3,3,90] 输出2 解释元素 3 严格较小元素是元素 -3 严格较大元素是元素 90 。 由于有两个元素的值为 3 总计有 2 个元素都满足在 nums 中同时存在一个严格较小元素和一个严格较大元素。
提示
1 nums.length 100 -105 nums[i] 105
算法分析
最大值和最小值中间的数字就是严格较大和严格较小元素 时间复杂度O(n) 空间复杂度O(1)
完整代码
class Solution {
public:int countElements(vectorint nums) {// 最大值和最小值中间的数字就是严格较大和严格较小元素int min nums[0];int max nums[0];for (auto i : nums) {if (max i) {max i;}if (min i) {min i;}} //找到最大值和最小值int count 0;for (auto i : nums) {if (i max || i min)count;}return nums.size() - count;}
};