Bu meydan okumadaki görev, bir dizinin elemanlarını zaman bölmelerine koymaktır. Girdi, olayların zamanını temsil eden azalmayan pozitif bir tamsayı dizisi ve her bir bölmenin boyutunu temsil eden bir tamsayı olacaktır. Bir örnekle başlayalım. Girdi dizisini Ave çıktı dizisini çağırıyoruz O.
`A = [1,1,1,2,7,10]` and `bin_size = 2`.
`O = [4,0,0,1,1]`.
Neden ? A ile bin_size = 2aşağıdaki aralıklara sahip olacağız: (0,2], (2,4], (4,6], (6,8], (8,10]burada dört öğe (1,1,1,2)ilk aralıkta (0,2], hiçbiri ikinci ve üçüncü aralıklarda, biri 7aralıkta (6,8]ve biri 10aralıkta (8,10].
Kodunuz uzunluğu her aralığını dikkate almalıdır bin_sizegelen başlangıç 0ve kaç numara saymak Aher vardır. Yukarıdaki örnekte 2sayıya dahil edilmesi için her zaman bir bölmenin sağ ucunu bir kutuya eklemeniz gerekir 4. Kodunuz, girdi ve çıktı uzunluklarının toplamı olarak doğrusal sürede çalışmalıdır.
Daha fazla örnek:
`A = [1,2,7,12,15]` and `bin_size = 5`.
`O = [2, 1, 2]`.
`A = [1,2,7,12,15]` and `bin_size = 3`.
`O = [2,0,1,1,1]`.
Giriş ve çıktının uygun bulduğunuz herhangi bir biçimde verilebileceğini varsayabilirsiniz. İstediğiniz dilleri ve kütüphaneleri kullanabilirsiniz.
bin_size, bunları gerçekten ele almalıyız? Çoğu yanıtın öyle olduğu anlaşılıyor, ancak öyleyse, karışıklığı önlemek için bu senaryo için bir test örneği eklemek güzel olurdu.
0s olan çıktılara izin veriliyor mu? Bunun[2,0,1,1,1,0]yerine geri[2,0,1,1,1]mi dönüyorsun ?