Annettuna on lista, jonka jokainen alkio on eri kokonaisluku. Tehtäväsi on esittää listan sisältö lukuväleinä niin, että välien määrä on mahdollisimman pieni. Lukuväli tarkoittaa, että listalla ovat kaikki luvut väliltä .
Esimerkiksi lista voidaan esittää kolmena lukuvälinä: , ja .
Voit olettaa, että listan jokainen alkio on kokonaisluku välillä ja listalla on enintään alkiota.
Python
Toteuta tiedostoon intervals.py
funktio count
, joka ilmoittaa välien määrän.
def count(t): # TODO if __name__ == "__main__": print(count([4,1,5,3])) # 2 print(count([4,2,1,3])) # 1 print(count([5,2,7,6,3,9])) # 3
Java
Toteuta tiedostoon Intervals.java
metodi count
, joka ilmoittaa välien määrän.
public class Intervals { public int count(int[] t) { // TODO } public static void main(String[] args) { Intervals i = new Intervals(); System.out.println(i.count(new int[] {4,1,5,3})); // 2 System.out.println(i.count(new int[] {4,2,1,3})); // 1 System.out.println(i.count(new int[] {5,2,7,6,3,9})); // 3 } }