Giriş
Bir işaretçi dizisi bir dizidir L
sıfırdan farklı tamsayılar 0 ≤ L[i]+i < len(L)
tüm indeksleri için de geçerlidir i
(0 tabanlı dizin varsayılarak). Biz endeks söylemek i
işaret endekse L[i]+i
. Bir işaretçi dizisi olan döngü endeksleri uzunluğunun tek bir döngü oluşturur ise len(L)
. İşte bazı örnekler:
[1,2,-1,3]
bir işaretçi dizisi değildir, çünkü3
bir dizine işaret etmez.[1,2,-1,-3]
bir işaretçi dizisidir, ancak bir döngü değildir, çünkü hiçbir dizin-1
.[2,2,-2,-2]
bir işaretçi dizisidir, ancak bir döngü değildir, çünkü indeksler iki döngü oluşturur.[2,2,-1,-3]
bir döngüdür.
Giriş
Girişiniz, makul olmayan herhangi bir biçimde, sıfır olmayan tam sayıların boş olmayan bir listesidir. Sıralanmamış olabilir ve / veya kopyalar içerebilir.
Çıktı
Çıktınız, giriş listesindeki tüm tam sayıları (ve muhtemelen diğer tam sayıları) içeren ve çoklukları sayan bir döngü olmalıdır. Giriş ile aynı sırada olmaları gerekmez ve çıkışın hiçbir anlamda minimum olması gerekmez.
Misal
Giriş [2,-4,2]
için kabul edilebilir bir çıkış olacaktır [2,2,-1,1,-4]
.
Kurallar ve puanlama
Tam bir program veya işlev yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklara izin verilmez. Cevabınıza birkaç örnek giriş ve çıkış eklemek takdir edilmektedir.
Test senaryoları
Bunlar formatta verilmiştir input -> some possible output(s)
.
[1] -> [1,-1] or [1,1,1,-3]
[2] -> [2,-1,-1] or [1,2,-2,-1]
[-2] -> [1,1,-2] or [3,1,2,-2,-4]
[2,-2] -> [2,-1,1,-2] or [2,-1,2,-2,-1]
[2,2,2] -> [2,-1,2,-2,2,-2,-1] or [2,2,2,2,-3,-5]
[2,-4,2] -> [2,2,-1,1,-4] or [2,5,1,1,1,-4,2,-7,-1]
[3,-1,2,-2,-1,-5] -> [2,3,-1,2,-1,-5] or [3,3,-1,-1,2,2,-1,6,1,1,1,1,-12,-5]
[-2,-2,10,-2,-2,-2] -> [10,-1,1,-2,-2,1,-2,-2,1,-2,-2]
[-15,15,-15] -> [15,-1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,-15,-15]
[1,2,3,4,5] -> [1,2,3,-1,4,-1,5,-1,-1,-9,-1,-1]
n = 0
, çünkü spec " sıfır olmayan tamsayılar " der .