做空间的网站,网站显示速度的代码是什么情况,友情链接出售,网络学习平台1. 题意
给定有序数组#xff0c;求其中正整数和负整数的计数最大值。
正整数和负整数的最大计数
2. 题解
2.1 遍历
直接判断
class Solution {
public:int maximumCount(vectorint nums) {int neg 0;int pos 0;for (int num:nums) {if (!num)continue;i…1. 题意
给定有序数组求其中正整数和负整数的计数最大值。
正整数和负整数的最大计数
2. 题解
2.1 遍历
直接判断
class Solution {
public:int maximumCount(vectorint nums) {int neg 0;int pos 0;for (int num:nums) {if (!num)continue;if (num 0x80000000 )neg;elsepos;}return neg pos ? pos : neg;}
};2.2 二分查找
二分查找第一个非负值和第一个正值。
class Solution {
public:bool check(int l, int r, vectorint nums, int target){int sum 0;for (int i l; i r 1; i)sum nums[i];return sum target;}int minSubArrayLen(int target, vectorint nums) {int l 0;int sum 0;int sz nums.size();int ans INT_MAX;vectorint pre(sz 1, 0);int preSum 0;for (int i 0;i sz; i) {preSum nums[i];pre[i 1] preSum;}for (int i 0;i sz; i) {int l i;int r sz;while (l r) {int m ((r - l) 1) l;// cout m m , sum sum endl; if ( pre[m 1] - pre[i] target)l m 1;elser m;}// printf(%d,%d\n, i, l);if ( l sz){ans min(l - i 1, ans);}}return ans INT_MAX ? 0 : ans;}
};使用库函数
class Solution {
public:int maximumCount(vectorint nums) {auto non_neg lower_bound(nums.begin(), nums.end(), 0) - nums.begin();auto pos upper_bound(nums.begin(), nums.end(), 0);return max(non_neg, nums.end()- pos);}
};