Софтуерно Инженерство
Loading...
+ Нов въпрос
Nikola_Andreev avatar Nikola_Andreev 671 Точки
Best Answer

Здравей колега.

Открих къде греши твоят алгоритъм. Пробвай да вкараш например -1 2 -36 9. При този вход програмата ще ти върне отговор -36 9, което предполагам знаеш че е грешно, тъй като при равен брой елементи взимаме най-левия. Тоест -1 2 трябва да е отговора. Така сега защо се получава така? Отговорът защото резултатите са ти в лист с стринове и накрая ги сравняваш по дължина. В примера който ти дадох и 2 та отговора са с по 2 числа, но ако ги разгледаме като стринг второто е по дълго и затова ти дава него. Предполагам знаеш как да си оправиш кода, просто направи list от int a не от string smiley.

Поздрави!

1
01/06/2016 20:28:22
kaloyannikov avatar kaloyannikov 528 Точки

Не мога да намеря условието ,но ако числата са ти само отрицателни? Сложи макс да е int.MinValue , a не 0 .

 

0
01/06/2016 18:08:13
Shirdor avatar Shirdor 130 Точки

не е от това защото макс го ползвам да сравнявам дължината на стринговете, а те са положителни.

0
kaloyannikov avatar kaloyannikov 528 Точки

извинявай , не съм разчел правилно. А къде е условието понеже в judge не го видях.

0
Shirdor avatar Shirdor 130 Точки
 input  output
 3 2 3 4 2 2 4  2 3 4
 4 5 1 2 3 4 5  1 2 3 4 5  
 3 4 5 6  3 4 5 6
 0 1 1 2 2 3 3    01

Write a program that finds the longest increasing subsequence in an array of integers. The longest increasing subsequence is a portion of the array (subsequence) that is strongly increasing and has the longest possible length. If several such subsequences exist, find the left most of them.

0
01/06/2016 18:20:24