How to find the equilibrium index of a list (sum lst[0 to index - 1] == sum lst[index + 1 to size]) in Dart

1 Answer

0 votes
import 'dart:io';

class MyClass
{
    static int getEquilibriumIndex(List<int>lst) {
        var  sum_arr = 0;
        var  left_part_sum = 0;
        var  size = lst.length;
        
        for (var  i = 0; i < size; i++) {
            sum_arr += lst[i];
        }
        
        for (var  i = 0; i < size; i++) {
            sum_arr -= lst[i];
            if (left_part_sum == sum_arr) {
                return i;
            }
            left_part_sum += lst[i];
        }
        
        return -1;
    }
    
    static void main()
    {
        List<int> lst = [-9, 2, 5, 8, -7, 4, 1];
        
        stdout.write("equilibrium index = " + (MyClass.getEquilibriumIndex(lst)).toString());
    }
}

void main() {
	MyClass.main();
}




/*
run:

equilibrium index = 3

*/

 



answered Apr 26, 2023 by avibootz
...