46 / 205
LeetCode · EasyOson10 ball· ~10 daqiqa

Keep Multiplying Found Values by Two

Sizga butun sonlar massivi nums va butun son original berilgan.

Siz quyidagi amallarni bajarasiz:

  1. Agar original massivda mavjud bo'lsa, original ni 2 ga ko'paytiring (ya'ni, original = 2 * original).
  2. Aks holda, jarayonni to'xtating.
  3. Jarayon to'xtaguncha 1-qadamni takrorlang.

Oxirida topilgan yakuniy original qiymatini qaytaring.

example.go
func solve(nums []int, original int) int {
    // ...
}

Misollar

kod
Input: nums = [5,3,6,1,12], original = 3
Output: 24
Tushuntirish:
- 3 bor, uni 2*3 = 6 ga o'zgartiring.
- 6 bor, uni 2*6 = 12 ga o'zgartiring.
- 12 bor, uni 2*12 = 24 ga o'zgartiring.
- 24 massivda yo'q. Natija 24.
kod
Input: nums = [2,7,9], original = 4
Output: 4
kod
Input: nums = [1, 2, 4, 8], original = 1
Output: 16
kod
Input: nums = [7], original = 7
Output: 14

Maslahatlar

  1. Massivda son bor-yo'qligini tez tekshirish uchun set qo'llashni o'ylang, so'ngra jarayonni takrorlang.
  2. nums'ni set'ga aylantiring; original shu set'da mavjud ekan uni 2 ga ko'paytirib, set'da yo'q bo'lguncha davom eting.