Formatted question description: https://leetcode.ca/all/1523.html

1523. Count Odd Numbers in an Interval Range (Easy)

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

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/count-odd-numbers-in-an-interval-range/

// 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;
    }
}

All Problems

All Solutions