- Today
- Total
- ํ๋ก๊ทธ๋๋จธ์ค
- Graph
- leetcode
- ์กธ์ ์ํ
- ๋ค์ต์คํธ๋ผ
- java
- Algorithm
- ์์์ ๋ ฌ
- BFS
- dp
- tree
- ์๋ฃ๊ตฌ์กฐ
- ๊ตฌํ
- ์ธํด
- pytorch
- ๋ฒจ๋งํฌ๋
- ๋ฌธ๋ฒ
- ์๋ฐ
- OOP
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- CS
- ๊ทธ๋ฆฌ๋
- spring
- ์๋ฐ์์ ์
- database
- ๋ฐฑ์๋
- ๋ฐฑ์ค
- PS
- array
- MST
Partially Committed
[LEETCODE] 1523. Count Odd Numbers in an Interval Range ๋ณธ๋ฌธ
[LEETCODE] 1523. Count Odd Numbers in an Interval Range
WonderJay 2022. 10. 9. 15:28
TITLE : 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).
- 0 <= low <= high <= 10^9
upper boundary ๊ฐ 10^9 ์ด๋ฏ๋ก, brute-force ๋ก ์ํํ๋ฉด์ ํ์ ๊ฐ์๋ฅผ ์ธ๋ฉด TLE ๊ฐ ๋ฐ์ํ๋ค.
์๋ ์ธ ๊ฐ์ง ์ผ์ด์ค๋ก ๋ถํฐ O(1) ํ์ด๋ฅผ ์๊ฐํ ์ ์๋ค.
[1, 5] ์ ๊ฒฝ์ฐ ๋ ๊ฒฝ๊ณ๊ฐ ๋ชจ๋ ํ์์ด๋ค.
๋ ์ ์ฌ์ด์ ์กด์ฌํ๋ ์ซ์๋ค์ ๊ฐ์(inclusive)๋ 5-1+1 = 5 ๊ฐ์ด๊ณ ์ด๋ค ์ค ํ์์ ๊ฐ์๋ 5/2+1 = 3๊ฐ์ด๋ค.
[2,5] ์ ๊ฒฝ์ฐ ๋ ๊ฒฝ๊ณ ์ค ํ๋๋ ์ง์, ํ๋๋ ํ์์ด๋ค.
๋ ์ ์ฌ์ด์ ์กด์ฌํ๋ ์ซ์๋ค์ ๊ฐ์๋ 5-2+1 = 4 ๊ฐ์ด๊ณ ์ด๋ค ์ค ํ์์ ๊ฐ์๋ 4/2 = 2 ๊ฐ์ด๋ค.
[2,6] ์ ๊ฒฝ์ฐ ๋ ๊ฒฝ๊ณ ๋ชจ๋ ์ง์์ด๋ค.
๋ ์ ์ฌ์ด์ ์กด์ฌํ๋ ์ซ์๋ค์ ๊ฐ์๋ 6-2+1 = 5๊ฐ์ด๊ณ ์ด๋ค ์ค ํ์์ ๊ฐ์๋ 5/2 = 2 ๊ฐ์ด๋ค.
[C++]
class Solution {
public:
int countOdds(int low, int high) {
int cnt = high - low + 1;
if(high %2 == 1 && low %2 == 1){
// both odd
return cnt/2+1;
}
else{
return cnt/2;
}
}
};
'๐ฅ Algorithm || ๋ฌธ์ ํ์ด > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[LEETCODE] 191.Number of 1 Bits (0) | 2022.10.10 |
---|---|
[LEETCODE] 1491. Average Salary Excluding the Minimum and Maximum Salary (0) | 2022.10.09 |
[CH01] ํฌํฌ์ธํฐ (0) | 2022.09.12 |
[CH01] ๊ตฌ๊ฐํฉ (0) | 2022.09.09 |
[์ฐ์ ์์ํ] ํ๋ฆฐํฐ (์๋ฐ) (0) | 2022.09.04 |