Tehtäväsi on etsiä listasta pisin alijono, jossa jokaisen kahden vierekkäisen luvun ero on tasan 1. Esimerkiksi listassa [5,2,3,8,2,4,1] pisin tällainen alijono on [2,3,2,1], jonka pituus on 4.
Voit olettaa, että 1 \le n \le 100 ja jokainen listan alkio on kokonaisluku välillä 1 \le n \le 100.
Python
Toteuta tiedostoon onediff.py
funktio find
, joka antaa pisimmän alijonon pituuden.
def find(t): # TODO if __name__ == "__main__": print(find([1,2,3,4,5])) # 5 print(find([5,5,5,5,5])) # 1 print(find([5,2,3,8,2,4,1])) # 4
Java
Toteuta tiedostoon OneDiff.java
metodi find
, joka antaa pisimmän alijonon pituuden.
public class OneDiff { public int find(int[] t) { // TODO } public static void main(String[] args) { OneDiff o = new OneDiff(); System.out.println(o.find(new int[] {1,2,3,4,5})); // 5 System.out.println(o.find(new int[] {5,5,5,5,5})); // 1 System.out.println(o.find(new int[] {5,2,3,8,2,4,1})); // 4 } }