Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,872 questions

51,796 answers

573 users

How to find the equilibrium index of a vector (sum vec[0 to index - 1] == sum vec[index + 1 to size]) in Rust

2 Answers

0 votes
#![allow(non_snake_case)]
 
fn getEquilibriumIndex(v: &mut [i32]) -> Option<usize> {
    let size = v.len();
    let mut left_sum = 0;
    let mut right_sum = v.iter().sum::<i32>();
 
    for i in 0..size {
        right_sum -= v[i];
 
        if left_sum == right_sum {
            return Some(i);
        }
 
        left_sum += v[i];
    }
 
    None
}
 
fn main() {
    let mut v : Vec<i32> = vec![-9, 2, 5, 8, -7, 4, 1];
     
    print!("equilibrium index = {:?}", getEquilibriumIndex(&mut v));
}
 
 
 
/*
run:
 
equilibrium index = Some(3)
 
*/

 



answered Apr 26, 2023 by avibootz
edited Apr 26, 2023 by avibootz
0 votes
#![allow(non_snake_case)]
 
fn getEquilibriumIndex(v: &mut [i32]) -> isize {
    let size = v.len();
    let mut left_sum = 0;
    let mut right_sum = v.iter().sum::<i32>();
 
    for i in 0..size {
        right_sum -= v[i];
 
        if left_sum == right_sum {
            return i as isize;
        }
 
        left_sum += v[i];
    }
 
    return -1 as isize;
}
 
fn main() {
    let mut v : Vec<i32> = vec![-9, 2, 5, 8, -7, 4, 1];
     
    print!("equilibrium index = {:?}", getEquilibriumIndex(&mut v));
}
 
 
 
 
/*
run:
 
equilibrium index = 3
 
*/

 



answered Apr 26, 2023 by avibootz
...