99 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Valid Perfect Square

Sizga musbat butun son num berilgan. Agar num mukammal kvadrat bo'lsa true qaytaring, aks holda false.

Mukammal kvadrat bu biror bir butun sonning o'ziga ko'paytmasiga teng bo'lgan sondir. O'rnatilgan tayyor kutubxonalardan, masalan, sqrt dan foydalanmang.

example.go
func solve(num int) bool {
    // ...
}

Misollar

kod
Input: num = 16
Output: true
Tushuntirish: 4 * 4 = 16 bo'lgani uchun 16 mukammal kvadrat.
kod
Input: num = 14
Output: false
kod
Input: num = 1
Output: true

Maslahatlar

  1. sqrt ishlatmasdan, 1 dan num gacha bo'lgan oraliqda kvadrat ildizni binary search bilan qidirishni o'ylang.
  2. lo=1, hi=num oralig'ida binary search yurgizing: o'rtadagi qiymatning kvadratini num bilan solishtiring — teng bo'lsa true, kichik bo'lsa pastki chegarani, katta bo'lsa yuqori chegarani mos ravishda torayting; oraliq tugasa false qaytaring.