Annettuna on lista, jossa on lukua. Tehtäväsi on laskea vasemmalta oikealle jokaiselle :n pituiselle alilistalle eli ikkunalle, montako eri lukua se sisältää.
Esimerkiksi kun lista on ja , niin ikkunat ovat , , ja . Näissä ikkunoissa on , , ja eri lukua.
Voit olettaa, että on enintään , jokainen luku on kokonaisluku välillä ja .
Python
Toteuta tiedostoon windows.py
funktio count
, joka antaa eri lukujen määrät ikkunoissa.
def count(t,k): # TODO if __name__ == "__main__": print(count([1,1,2,2],2)) # [1,2,1] print(count([1,1,1,1],4)) # [1] print(count([1,2,3,2,2,2],3)) # [3,2,2,1]
Java
Toteuta tiedostoon Windows.java
metodi count
, joka antaa eri lukujen määrät ikkunoissa.
import java.util.*; public class Windows { public int[] count(int[] t, int k) { // TODO } public static void main(String[] args) { Windows w = new Windows(); System.out.println(Arrays.toString(w.count(new int[] {1,1,2,2}, 2))); // [1,2,1] System.out.println(Arrays.toString(w.count(new int[] {1,1,1,1}, 4))); // [1] System.out.println(Arrays.toString(w.count(new int[] {1,2,3,2,2,2}, 3))); // [3,2,2,1] } }