How to find if there is a pair in sorted array with sum equal to a given sum in Rust

1 Answer

0 votes
#![allow(non_snake_case)]

fn isPairWithAGivenSum(arr: &mut [usize], sum : usize) -> bool {
    let size = arr.len();
    {
        let mut i = 0;
        while i < size {
            {
                let mut j = 0;
                while j < size {
                    if i == j {
                        j += 1;
                        continue;
                    }
                    if arr[i] + arr[j] == sum {
                            println!("i = {} j = {}", i, j);
                            return true;
                        }
                    if arr[i] + arr[j] > sum {
                        break;
                    }
                    j += 1;
                }
            }
            i += 1;
        }
    }
    return false;
}


fn main() {        

    let mut arr = [3, 5, 6, 8, 9, 12, 13, 15];
    let sum = 17;
    
    print!("{}", isPairWithAGivenSum(&mut arr, sum));
}




/*
run:
 
i = 1 j = 5
true
 
*/

 



answered Apr 23, 2023 by avibootz
...