Description
https://leetcode.com/problems/count-odd-numbers-in-an-interval-range/
Given two non-negative 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
Explanation
We can base on different scenarios whether high is odd, low is odd, etc. to return the odds count time efficiently.
Python Solution
class Solution:
def countOdds(self, low: int, high: int) -> int:
if low % 2 != 0:
if high % 2 != 0:
return (high - low) // 2 + 1
else:
return (high - low) // 2 + 1
else:
if high % 2 != 0:
return (high - low) // 2 + 1
else:
return (high - low) // 2
- Time Complexity: O(1).
- Space Complexity: O(1).