leetcode_rust/
two_sum_2.rs1#![allow(dead_code)]
2
3pub fn two_sum(numbers: Vec<i32>, target: i32) -> Vec<i32> {
4 let mut i = 0;
5 let mut j = numbers.len() - 1;
6 while i < j {
7 let sum = numbers[i] + numbers[j];
8 if sum == target {
9 return vec![(i + 1) as i32, (j + 1) as i32];
10 } else if sum > target {
11 j -= 1;
12 } else {
13 i += 1;
14 }
15 }
16
17 vec![]
18}
19
20#[cfg(test)]
21mod tests {
22 use super::*;
23
24 #[test]
25 fn test1() {
26 assert_eq!(two_sum(vec![2, 7, 11, 15], 9), vec![1, 2]);
27 }
28}