您的位置:首页 > 财经 > 产业 > 石家庄有那些网站开发公司_防红短链接生成_app推广平台排行榜_品牌整合营销传播

石家庄有那些网站开发公司_防红短链接生成_app推广平台排行榜_品牌整合营销传播

2025/3/17 1:30:48 来源:https://blog.csdn.net/2403_87140725/article/details/146150999  浏览:    关键词:石家庄有那些网站开发公司_防红短链接生成_app推广平台排行榜_品牌整合营销传播
石家庄有那些网站开发公司_防红短链接生成_app推广平台排行榜_品牌整合营销传播

*注意:这里迭代器不是确切的下标值

下标为0-(i-1)的元素个数就是i,所以计算长度考虑nums.end()

0-i-1的元素个数就是i

int neg = ranges::lower_bound(nums, 0) - nums.begin();

neg是找负数的个数

//lower_bound找到第一个大于等于它的值没找到返回末尾的迭代器(nums.end())

1.当数组全为负数的时候迭代器指向n=nums.size() (这里决定了手写迭代的初始值为right=nums.size())

打比方nums={-3,-2,-1} 则函数指向3 neg=3-0

2.当nums既有负数也有非负数的时候 指向第一个非负数的下标        0-i-1的元素个数就是i neg=3

3.当nums全是0的时候 指向第一个0                                                 0-i-1的元素个数就是i  neg=0

int pos=nums.begin()-range::upper_bound(nums,0);

//upper_bound找到第一个大于目标值的迭代器,没找到返回末尾的迭代器(nums.end())

1.当没有非正整数的时候 pos=nums.end()-nums.end()=0

2.当全为正整数的时候 pos=nums.end()-0=nums.end()

3.含有非正整数和非负整数的时候 pos=nums.end()-第一个正整数出现的迭代器=长度

class Solution {
public:int maximumCount(vector<int>& nums) {int neg=ranges::lower_bound(nums,0)-nums.begin();int pos=nums.end()-ranges::upper_bound(nums,0);return max(neg,pos);}
};

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com