class Solution {
public:
int count(int x) {
if(x < 0) {
return 0;
}
return (x + 1) / 2;
}
int countOdds(int low, int high) {
return count(high) - count(low - 1);
}
};
class Solution {
public:
int numOfSubarrays(vector<int>& arr) {
int odd = 0, even = 1;
long long res = 0;
int sum = 0;
for(int cur : arr) {
sum += cur;
if(sum % 2 == 0) {
res += odd;
even ++;
} else {
res += even;
odd ++;
}
}
return res % 1000000007;
}
};
class Solution {
public:
int numSplits(string s) {
vector<int>leftCount(26), sum(26);
int pCount = 0, qCount = 0;
for(char c : s) {
sum[c - 'a'] ++;
if(sum[c - 'a'] == 1) {
qCount ++;
}
}
int res = 0;
for(char c : s) {
leftCount[c - 'a'] ++;
if(leftCount[c - 'a'] == 1) {
pCount ++;
}
if(leftCount[c - 'a'] == sum[c - 'a']) {
qCount --;
}
if(pCount == qCount) {
res ++;
}
}
return res;
}
};
class Solution {
public:
int minNumberOperations(vector<int>& target) {
int res = target[0];
int n = target.size();
for(int i = 1; i < n; i ++) {
res += max(target[i] - target[i - 1], 0);
}
return res;
}
};
没有拼尽全力,不能说自己做不到!