2023-03-18 17:19:01
2579.
Count Total Number of Colored Cells
O'rta daraja: 2579. Count Total Number of Colored Cells
Mening yechimim: Java 1 Line | Math | 100% Faster | Explained
Salom! Kechagi masalaga yechim topamiz.
Vazifa Sizning vazifangiz - bu har bir daqiqada (n daqiqa davomida) kataklarga, agar qo'shnisi bo'lmasa, qo'shni katak chizish va ularning sonini topish.
G'oya Agar har xil
n uchun kataklarni chizib va hisoblab ko'rsangiz, kataklarning yig'indisi arifmetik progressiyaning yig'indisi bilan bog'liqligini ko'rasiz.
NB: arifmetik progressiyaning
d (qo'shni elementlarning farqi) 2ga teng.
Hisoblab chiqqanimdan keyin, kataklar soni
nta elementning arifmetik yig'indisi va
n-1 ta elementning arifmetik yig'indisi
Sum(n) + Sum(n - 1) yoki
Sum(n) + Sum(n) - an =>
2 * Sum(n) - an. (a )
Arifmetik progressiyaning birinchi elementi ma'lum bo'lgani uchun yig'indini topish uchun keyingi formulani ishlatsangiz bo'ladi:
Sum(n) = ((a1 + an) * n ) / 2.
Bu formulani (a ) formulaga qo'ysangiz
2 * Sum(n) - an = 2 * ((a1 + an) * n ) / 2 - an =
(a1 + an) * n - an. (b )
Keling, endi
an (oxirgi element)ni topaylik. an = a1 + (n - 1) * d formulasini ishlatsangiz
an = a1 + (n - 1) * d = 1 + (n - 1) * 2 = 1 + 2n - 2 = 2n - 1 =>
an = 2n - 1.
Va
an uchun topilgan ifodani (b ) formulasiga qo'ysangiz
(a1 + an) * n - an = (a1 + 2 * n - 1) * n - (2 * n - 1) = 2 * n * n - 2 * n + 1 = 2 * n * (n - 1) + 1.
Xullas, javob
2 * n * (n - 1) + 1 bo'ldi.
Tushunarli bo'ldi degan umiddaman.
= [Dasturlash = Dasturlashga]
Omad!
@leetcodin
1.2K views14:19