finden Sie die start-und end-index für eine max sub-array

 public static void main(String[] args) {


        int arr[]= {0,-1,2,-3,5,9,-5,10};



        int max_ending_here=0;
        int max_so_far=0;
        int start =0;
        int end=0;

        for(int i=0;i< arr.length;i++)
        {
            max_ending_here=max_ending_here+arr[i];
            if(max_ending_here<0)
            {
                max_ending_here=0;
            }

            if(max_so_far<max_ending_here){

                max_so_far=max_ending_here;


            }

        }
        System.out.println(max_so_far);



    }

}

dieses Programm erzeugt die max Summe der sub-array ..in diesem Fall 19,mit {5,9,-5,10}..
jetzt habe ich feststellen müssen das start-und end-index dieser sub-array ..wie mache ich das ??

  • Was ist Ihre voraussichtliche Ausgabe für diese? Frage ist nicht klar
  • Gehen Sie für die kadane-Algorithmus.. maximum-sub-array in linearer Komplexität...
InformationsquelleAutor user1896796 | 2013-01-06
Schreibe einen Kommentar