58 / 205
LeetCode · EasyOson10 ball· ~10 daqiqa

Minimum Amount of Time to Fill Cups

Sizga sovuq, iliq va issiq suv quyish kerak bo'lgan stakanlar soni berilgan amount massivi uzunligi 3. Har sekundda siz:

  • Yoki ikkita har xil turdagi stakanga suv quyishingiz mumkin.
  • Yoki bitta stakanga suv quyishingiz mumkin.

Barcha stakanlarni to'ldirish uchun ketadigan minimal sekundlar sonini qaytaring.

example.go
func solve(amount []int) int {
    // ...
}

Misollar

kod
Input: amount = [1,4,2]
Output: 4
Tushuntirish:
1-sekund: Iliq va issiq stakanga quyish. amount = [1,3,1]
2-sekund: Sovuq va iliq stakanga quyish. amount = [0,2,1]
3-sekund: Iliq va issiq stakanga quyish. amount = [0,1,0]
4-sekund: Iliq stakanga quyish. amount = [0,0,0]
Jami 4 sekund ketadi.
kod
Input: amount = [5,4,4]
Output: 7
kod
Input: amount = [5,0,0]
Output: 5

Maslahatlar

  1. Har safar eng katta ikkita qiymatni birga kamaytirish eng samarali — uchta qiymatni saralab, eng kattasiga alohida e'tibor bering.
  2. Uch qiymatni tartiblang; agar eng kattasi qolgan ikkitasining yig'indisidan katta yoki teng bo'lsa, javob shu eng katta qiymatga teng, aks holda javob uchala qiymat yig'indisini 2 ga bo'lib, kerak bo'lsa yuqoriga yaxlitlash orqali topiladi.