09.Largest Increasing Subsequence - Lists and Matrices - Exercises
Здравейте,
след двудневно дебъгване имам нужда от помощ по следната задача :D. Judge дава 83/100 точки (zero test #0 , test #2 , test #9 - Incorrect). Input-a на zero теста е редицата {7, 3, 5, 8, -1, 0, 6, 7}. Oчакваният output за най-дълга нарастваща подредица е {3, 5, 6, 7}, а моят - {-1, 0, 6, 7}. В случая (а може би и в другите два incorrect) дължината на двете подредици е еднаква. Ще се радвам ако някой намери бъга в кода ми (http://pastebin.com/UTqpTXZj ) или даде hint къде е възможно да се намира.
L[0] -> 7 | L[1] -> 3 | L[2] -> 3 5 | L[3] -> 3 5 8 [*Note : {3, 5, 6, 7} is missing] | L[4] -> -1 | L[5] -> -1 0 | L[6] -> -1 0 6 | L[7] -> -1 0 6 7
са редиците, които алгоритъма, който ползвам извлича (въпросната от expected output-а липсва?).
Логиката ми е следната :
1) създаваме лист L от листове , подлистовете са всяка една нарастваща подредица
2) първата подредица L[0] е винаги първия елемент на oригиналното множество от inputa (всяка подредица L[i] завършва с елемент D[i]
3) завъртаме цикъл от 1 , като на всяка стъпка създаваме нова подредица
4) проверяваме с вложен цикъл всяка една създадена подредица до сега, чиито последен елемент D[j] е по-малък от D[i]
5) избираме най-голямата, която отговаря на условие 4) , добавяме D[i] към края й и запазваме в текущата подредица
Source : https://www.youtube.com/watch?v=4fQJGoeW5VE&index=3&list=PLyRoUB6FODwkWN-eZXVPuhiKGqF9UIivS