tgoop.com/rust_code/1066
Create:
Last Update:
Last Update:
Rust задача для разминки
У тебя есть вектор чисел, и нужно вернуть индексы двух элементов, сумма которых равна заданному числу target.
Но — нельзя использовать вложенные циклы (O(n²)). Сделай решение за O(n).
Условие
fn two_sum(nums: Vec<i32>, target: i32) -> Option<(usize, usize)> {
// твой код
}
Пример:
let nums = vec![2, 7, 11, 15];
let target = 9;
// ожидаем Some((0,1)), потому что 2 + 7 = 9
Подсказка 💡
- Подумай про использование HashMap:
- сохраняй уже просмотренные числа и их индексы
- при просмотре нового элемента проверяй, есть ли в HashMap нужное дополнение (target - num)
Так можно пройтись по массиву один раз и сразу найти ответ. 🚀
BY Rust
Share with your friend now:
tgoop.com/rust_code/1066