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

  • class Solution {
        public int countOdds(int low, int high) {
            if (low % 2 == 0)
                low++;
            if (high % 2 == 0)
                high--;
            return (high - low) / 2 + 1;
        }
    }
    
    ############
    
    class Solution {
        public int countOdds(int low, int high) {
            return ((high + 1) >> 1) - (low >> 1);
        }
    }
    
  • // 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;
        }
    };
    
  • class Solution:
        def countOdds(self, low: int, high: int) -> int:
            return ((high + 1) >> 1) - (low >> 1)
    
    
    
  • func countOdds(low int, high int) int {
    	return ((high + 1) >> 1) - (low >> 1)
    }
    
  • function countOdds(low: number, high: number): number {
        return ((high + 1) >> 1) - (low >> 1);
    }
    
    
  • class Solution {
    
        /**
         * @param Integer $low
         * @param Integer $high
         * @return Integer
         */
        function countOdds($low, $high) {
            return (($high + 1) >> 1) - ($low >> 1);
        }
    }
    
  • impl Solution {
        pub fn count_odds(low: i32, high: i32) -> i32 {
            ((high + 1) >> 1) - (low >> 1)
        }
    }
    

All Problems

All Solutions