- Она должна быть непрерывной, то есть выбранные элементы расположены в последовательном порядке от исходного списка.
- Последовательно можно пропустить не более одного элемента. Другими словами, подряд можно пропустить не более одного элемента.
В другом примере для списка [9, -1 , -3, 4, 5], максимальная сумма — 17.
Код: Выделить всё
public static void main(String[] args) {
int[] arr={9,-1,-3,4,5};
int n=arr.length;
System.out.print(solve(n-1,arr,0));
}
public static int solve(int ind,int[] arr,int skip){
if(ind==-1 && skip==0)
return arr[ind+1];
if(ind==-1 && skip==1)
return 0;
if(skip>1)
return Integer.MIN_VALUE;
int notpick=0;
int pick=arr[ind]+solve(ind-1,arr,0);
if(skip
Подробнее здесь: [url]https://stackoverflow.com/questions/78456443/maximum-sum-without-skipping-two-contiguous-elements[/url]