Welcome to Subscribe On Youtube
Formatted question description: https://leetcode.ca/all/1523.html
1523. Count Odd Numbers in an Interval Range (Easy)
Given two nonnegative integers low
and high
. Return the count of odd numbers between low
and high
(inclusive).
Example 1:
Input: low = 3, high = 7 Output: 3 Explanation: The odd numbers between 3 and 7 are [3,5,7].
Example 2:
Input: low = 8, high = 10 Output: 1 Explanation: The odd numbers between 8 and 10 are [9].
Constraints:
0 <= low <= high <= 10^9
Related Topics:
Math
Solution 1.
There are high  low + 1
numbers in the range, so there are at least (high  low + 1) / 2
odd numbers. If low
is odd, then there will be (high  low + 1 + (low % 2)) / 2
odd numbers.
// OJ: https://leetcode.com/problems/countoddnumbersinanintervalrange/
// Time: O(1)
// Space: O(1)
class Solution {
public:
int countOdds(int low, int high) {
return (high  low + 1 + low % 2) / 2;
}
};
Java

class Solution { public int countOdds(int low, int high) { if (low % 2 == 0) low++; if (high % 2 == 0) high; return (high  low) / 2 + 1; } }

// OJ: https://leetcode.com/problems/countoddnumbersinanintervalrange/ // Time: O(1) // Space: O(1) class Solution { public: int countOdds(int low, int high) { return (high  low + 1 + low % 2) / 2; } };

class Solution: def countOdds(self, low: int, high: int) > int: return ((high + 1) >> 1)  (low >> 1)