LeetCode 1523. Count Odd Numbers in an Interval Range

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).

Leave a Reply

Your email address will not be published.