7 lines
268 B
R
7 lines
268 B
R
max.subseq <- function(x) {
|
|
cumulative <- cumsum(x)
|
|
min.cumulative.so.far <- Reduce(min, cumulative, accumulate=TRUE)
|
|
end <- which.max(cumulative-min.cumulative.so.far)
|
|
begin <- which.min(c(0, cumulative[1:end]))
|
|
if (end >= begin) x[begin:end] else x[c()]
|
|
}
|