У меня есть программа, которую мне нужно написать, но я понятия не имею, как это сделать ... Я просматривал другие части Интернета, но большинство из них используют 'функцию' и кучувещи, которые я еще не изучил.Я бы хотел, чтобы кто-нибудь помог мне с базовым решением на Java.
Цель:
Предположим, что в массиве есть как минимум 2 элемента.Найдите самый длинный ряд чисел в ary, где самый длинный пробег может быть либо монотонно увеличивающимся (a [i] <= a [i + 1]), либо монотонно убывающим.В случае ничьей для самого длинного пробега выберите самый длинный пробеж, который происходит первым.Вернуть сумму элементов в самом длинном прогоне. </p>
Я пытался использовать список для добавления всех элементов.Код, который я пробовал до сих пор, начинается с:
public int longestRun(int[] ary){
int sum=0;
if(ary.length==0)
return 0;
ArrayList<Integer> list = new ArrayList<Integer>();
for(int num: ary){
if(list.size()==0 || num>list.get(list.size()-1)){
list.add(num);
}else{
int i=0;
int j=list.size()-1;
while(i<j){
int mid = (i+j)/2;
if(list.get(mid) < num){
i=mid+1;
}else{
j=mid;
}
}
list.set(j, num);
}
for(int b=0;b<list.size();b++){
sum+=list.get(b);
}
}
return sum;
}
Спасибо за вашу помощь!