1523.在区间范围内统计奇数数目(Java)
题目描述:
给你两个非负整数 low 和 high 。请你返回 low 和 high 之间(包括二者)奇数的数目。
输入:
low = 3, high = 7
输出:
3
解释:3 到 7 之间奇数数字为 [3,5,7] 。
时间复杂度限制:
0 < = l o w < = h i g h < = 1 0 9 0 <= low <= high <= 10^9 0<=low<=high<=109
代码实现:
//在区间范围内统计奇数数目
public class Main{
public static void main(String[] args) {
//案例
System.out.println(countOdds(0, 1000000000));//500000000
}
public static int countOdds(int low, int high) {
//low减1:加上low数本身
return res(high) - res(low - 1);//两边界奇数相减 得 区间内的奇数个数
}
//计算[0,x]之间的奇数个数
public static int res(int x) {
return (int) Math.floor((double) (x + 1) / 2);
}
}