題目是一串數字 ex 1 -3 8 2 -1 3 -7
找出連續數字 和為最大值的
此題即 8 2 -1 3 (印出總和 12)
這個用暴力法很多for的話 我會寫
可是如果用dp 該怎麼寫成遞迴的樣式><
我不是要抄作業啦 我自己有練習 只是程式碼寫的很糟糕
感覺完全不及邊
以下我的code
-----------------------------------------------------
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner input=new Scanner(System.in);
int []s = new int [100];
int n = input.nextInt();
int time = 0;
int sum ;
while(n!=time){
time++;
s[time] = input.nextInt();
}
sum = maxSublist(n,s,max);
System.out.println(sum);
}
public static int maxSublist(int n,int s[],int max){
if(n-1!=0){
s[n-1] = s[n-1] + s[n];
if(s[n-1]>max)
max = s[n-1];
return maxSublist(n-1,s,max);
}
else{
if(max>s[1])
return max;
else
return s[1];
}
}
}
--------------------------------
這是我自己寫的 沒有完成 請問該怎麼寫或改?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.82.154