Loading

2023.7.8 两数之和II

image

典中典,没啥好说的,主要练习一下Rust的二分查找API。

impl Solution {
    pub fn two_sum(numbers: Vec<i32>, target: i32) -> Vec<i32> {
        let n = numbers.len();

        for (i, x) in numbers.iter().enumerate() {
            let y = numbers.binary_search(&(target - x));
            if let Ok(mut j) = y {
                if j == i { j += 1; }
                if j < n && numbers[j] == numbers[i] {
                    return vec![i as i32 + 1, j as i32 + 1];
                }
            }
        }

        vec![0, 1]
    }
}
posted @ 2023-07-08 12:10  烤肉kr  阅读(17)  评论(0编辑  收藏  举报