Sinulle annetaan lista lukuja ja tehtäväsi on laskea, monessako alilistassa jokainen luku on eri luku.
Esimerkiksi vastaus listalle [1,2,1,1,2] on 8, koska halutut alilistat ovat [1] (kolmesti), [2] (kahdesti), [1,2] (kahdesti) sekä [2,1].
Voit olettaa, että listassa on enintään 10^5 lukua ja jokainen luku on välillä 1 \dots 10^9.
Python
Tee tiedostoon alldistinct.py
funktio count
, joka antaa alilistojen määrän.
def count(t): # TODO if __name__ == "__main__": print(count([1,2,3,4,5])) # 15 print(count([1,1,1,1,1])) # 5 print(count([1,2,1,1,2])) # 8
Java
Tee tiedostoon AllDistinct.java
metodi count
, joka antaa alilistojen määrän.
public class AllDistinct { public long count(int[] t) { // TODO } public static void main(String[] args) { AllDistinct a = new AllDistinct(); System.out.println(a.count(new int[] {1,2,3,4,5})); // 15 System.out.println(a.count(new int[] {1,1,1,1,1})); // 5 System.out.println(a.count(new int[] {1,2,1,1,2})); // 8 } }