Kadane 알고리즘

2017. 7. 25. 16:01ETC/Algorithm Concept

Kadane 알고리즘



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.io.*;
// Java program to print largest contiguous array sum
import java.util.*;
 
class Kadane
{
    public static void main (String[] args)
    {
        int [] a = {-2-34-1-215-3};
        System.out.println("Maximum contiguous sum is " +
                                       maxSubArraySum(a));
    }
 
    static int maxSubArraySum(int a[])
    {
        int size = a.length;
        int max_so_far = Integer.MIN_VALUE, max_ending_here = 0;
 
        for (int i = 0; i < size; i++)
        {
            max_ending_here = max_ending_here + a[i];
            if (max_so_far < max_ending_here)
                max_so_far = max_ending_here;
            if (max_ending_here < 0)
                max_ending_here = 0;
        }
        return max_so_far;
    }
}
cs


'ETC > Algorithm Concept' 카테고리의 다른 글

Linked List는 무엇인가?  (0) 2024.02.11
Bubble Sort(버블정렬)  (0) 2022.01.25
Insert Sort(삽입정렬)  (0) 2020.03.19
RadixSort 기수 정렬 java  (0) 2017.01.06
계수 정렬(Counting Sort) java  (0) 2016.12.27