13 / 205
LeetCode · EasyOson10 ball· ~10 daqiqa

Count Odd Numbers in an Interval Range

Sizga ikkita manfiy bo'lmagan butun low va high sonlari berilgan. [low, high] oralig'idagi toq sonlar sonini qaytaring.

Chegaralar (low va high) ham oraliqqa kiradi. 0 ≤ low ≤ high ≤ 10⁹, shuning uchun oraliqni sikl bilan aylanish o'rniga formuladan foydalaning.

example.go
func solve(low int, high int) int {
    // ...
}

Misollar

kod
Input: low = 3, high = 7
Output: 3
Tushuntirish: Toq sonlar: 3, 5, 7.
kod
Input: low = 8, high = 10
Output: 1
kod
Input: low = 4, high = 4
Output: 0
kod
Input: low = 1, high = 1
Output: 1

Maslahatlar

  1. Barcha sonlarni birma-bir sanab chiqish shart emas — oraliqdagi son va uning chekkalarining juft/toqligidan formula orqali topish mumkin.
  2. (high-low)/2 orqali asosiy sonni toping, so'ngra agar low yoki high toq bo'lsa natijaga 1 qo'shing.