Negatif olmayan bir tamsayı listesinin dengelenmiş olup olmadığını kontrol etmek için , kişi bir ağırlığa bir tahtaya konulduğunu hayal edebilir ve sonra tahtayı, bir milin üzerinde bir mil üzerinde dengede bırakmaya çalışarak, milin sol ve sağında özetlenen göreceli ağırlıklar aynı olacaktır. Göreceli ağırlık, ağırlığı pivotla olan mesafesiyle çarpmak suretiyle verilir (bkz . Kaldıraç yasası ).
(Kaynak: wikipedia )
Bu görüntü bir listeye karşılık gelir [100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5]
. Bu liste dengelidir, çünkü 5
pivota 20 100
, 1 ve 5*20 = 100 = 100*1
.
Örnekler
3 1 5 7
#########
^
Bu durumda, pivot doğrudan altındadır 5
, 3
mesafe 2 sahiptir ve 1
ve 7
her iki taraf da sol ve sağ eksen toplamı kadar Yani mesafe 1. var 7
( 3*2 + 1*1
solda ve 7*1
sağda) ve bu nedenle liste [3, 1, 5, 7]
dengelenmiştir.
Bununla birlikte, pivotun liste elemanlarından birinin altına yerleştirilmesi gerekmediğini, iki liste elemanının arasına da yerleştirilebileceğini unutmayın:
6 3 1
#######
^
Bu durumda mesafeler 0.5, 1.5, 2.5, ...
vb. Olur. Bu liste aynı zamanda dengelidir çünkü 6*0.5 = 3 = 3*0.5 + 1*1.5
.
Pivot sadece bir sayının altına veya tam olarak ortasına iki sayının arasına yerleştirilebilir, örneğin iki sayının üçte ikisine değil .
Görev
Negatif olmayan tamsayıların herhangi bir makul biçimde listesi göz önüne alındığında, truthy
eğer liste dengelenebilirse bir falsy
değer ve aksi takdirde bir değer verin.
Giriş listesinin en az iki öğe içerdiğini ve en az bir öğenin sıfır olmadığını kabul edebilirsiniz.
Bu bir kod golf mücadelesidir, bu nedenle her dilde en az sayıda bayt olan cevap kazanır.
Truthy Testcases
[1, 0]
[3, 1, 5, 7]
[6, 3, 1]
[100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5]
[10, 4, 3, 0, 2, 0, 5]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[7, 7, 7, 7]
Sahte Testcases
[1, 2]
[3, 6, 5, 1, 12]
[0, 0, 2, 0, 1, 0]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
[6, 3, 2, 4, 0, 1, 2, 3]
[4, 0, 0, 2, 3, 5, 2, 0, 1, 2, 3, 0, 0, 1, 2, 4, 3, 1, 3, 0, 0, 2]
[100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5]
Bu zorluk kum kutudayken bulunan birçok zorlu görev : Dengeli bir sayı mı? , Bir dizinin Denge indeksi , Denge bir tahterevalli ağırlıklar seti , Kelimeler Dengeleme , ben devrilebilir mi? ve Pivot nereye ait?
You can assume that the input list contains at least two elements and that at least one element is non-zero.