2012-01-04 2 views
2

나는 이와 같은 (양극과 음극) 정수의 순서가 있습니다int의 세리에트 중에서 가장 낮은 값을 찾는 방법은 무엇입니까?

12,-54,32,1,-2,-4,-8,12,56,-22,-21,4,17,35 

을 그리고 (물론 최악의 결과를 찾을 수 (값의 작은 합계)이 순서의 서브 순서를 복용 필요 그 서브 순서의 개시 인덱스 및 종료 인덱스).

2^n (가능한 모든 시퀀스를 하나씩 계산)이 아닌 방법이 있습니까?

1,2,-3,4,-6,4,-10,3,-2 

값이 작을수록 합이 시퀀스 될 것이다 :이 간단한 시퀀스 예

,

최소값을 찾는 문제는별로 최대 탐색으로 변환 될 수
-6,4,-10 (with start index 4 and end index 6) 
+0

결과적으로 하위 시퀀스의 값을 합산하는 것입니까? – Howard

+0

@Howard : 예, 힌트를 주셔서 감사합니다. 나는 편집 할 것이다. –

+0

예를 들어 그 최악의 결과는 무엇입니까? -22, -21? – fge

답변

1

각 항목의 부호가 바뀌 었습니다.

최대 서브 시퀀스의 경우 잘 알려진 알고리즘이 존재한다. here.

원래 목록으로 작업하려면 목록을 변형하고 해당 알고리즘을 적용하거나 알고리즘 자체를 약간 수정하십시오 (최대 값 대신 마이너스 또는 더하기 대신).