LeetCode 1523. Count Odd Numbers in an Interval Range Solution in Java, C++, Python & More | Explanation + Code

CoderIndeed
0
1523. Count Odd Numbers in an Interval Range

Description

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:

    <li><code>0 &lt;= low &lt;= high&nbsp;&lt;= 10^9</code></li>
    

Solutions

Solution 1: Prefix Sum Concept

We know that the count of odd numbers in the range [0, x] is \lfloorx+12\rfloor. Therefore, the count of odd numbers in the range [low, high] is \lfloorhigh+12\rfloor - \lfloorlow2\rfloor.

The time complexity is O(1), and the space complexity is O(1).

PythonJavaC++GoTypeScriptRustPHPC
class Solution: def countOdds(self, low: int, high: int) -> int: return ((high + 1) >> 1) - (low >> 1)(code-box)

Post a Comment

0Comments

Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !