notes/OJ notes/pages/Leetcode Count-Odd-Numbers-in-an-Interval-Range.md
2022-09-06 20:22:48 +08:00

71 lines
1.1 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Leetcode Count-Odd-Numbers-in-an-Interval-Range
#### 2022-07-23 15:09
> ##### Algorithms:
>
> #algorithm #math
>
> ##### Difficulty:
>
> #coding_problem #difficulty_easy
>
> ##### Additional tags:
>
> #leetcode
>
> ##### Revisions:
>
> N/A
##### Related topics:
##### Links:
- [Link to problem](https://leetcode.com/problems/count-odd-numbers-in-an-interval-range/)
---
### Problem
Given two non-negative integers `low` and `high`. Return the _count of odd numbers between_ `low` _and_ `high` *(inclusive)*.
#### Examples
**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`
### Thoughts
> [!summary]
> This is a #math problem.
The problem is intended to be solved with math.
The key to find the solution is by analyzing and find common
rules.
### Solution
```cpp
class Solution {
public:
int countOdds(int low, int high) {
return ((low % 2) | (high % 2)) + (high - low) / 2;
}
};
```