算法
(数学) $O(1)$
分别计算出$0 \sim high$和$0 \sim low-1$的奇数个数,然后二者做差即可。
C++ 代码
class Solution {
public:
// 计算0~x的奇数个数
int count(int x) {
if (x < 1) return 0;
return (x + 1) / 2;
}
int countOdds(int low, int high) {
return count(high) - count(low - 1);
}
};