「每日LeetCode」2021年3月27日

本文最后更新于:2023年3月19日 晚上

Lt1523. 在区间范围内统计奇数数目

1523. 在区间范围内统计奇数数目

给你两个非负整数 lowhigh 。请你返回_ low  high _之间(包括二者)奇数的数目。
示例 1:

1
2
3
输入:low = 3, high = 7
输出:3
解释:37 之间奇数数字为 [3,5,7] 。

示例 2:

1
2
3
输入:low = 8, high = 10
输出:1
解释:810 之间奇数数字为 [9] 。

提示:

  • 0 <= low <= high <= 10^9

思路

思路用高位的奇数个数,减去低位的奇数个数。然后共有 hight-low+1 个数,所以按 hight+1,或者 low-1 来计算。

解答

1
2
3
4
5
6
7
8
/**
* @param {number} low
* @param {number} high
* @return {number}
*/
var countOdds = function (low, high) {
return ((high + 1) >> 1) - (low >> 1);
};