pub fn two_sum_sorted(nums: &[i64], target: i64) -> Option<(usize, usize)>Expand description
Tartiblangan massivda yig’indisi target ga teng ikkita son topadi.
G’oya: ikki ko’rsatkich — biri boshda, biri oxirida. Yig’indi katta bo’lsa o’ngdagini chapga suramiz, kichik bo’lsa chapdagini o’ngga.
[1, 3, 4, 6, 8, 11] target = 10
↑ ↑ 1 + 11 = 12 > 10 → o'ngni suramiz
↑ ↑ 1 + 8 = 9 < 10 → chapni suramiz
↑ ↑ 3 + 8 = 11 > 10 → o'ngni suramiz
↑ ↑ 3 + 6 = 9 < 10 → chapni suramiz
↑ ↑ 4 + 6 = 10 ✓- Time: O(n) (hash-jadvalsiz!), Space: O(1).
§Misol
use rust_algorithms::other::two_pointers::two_sum_sorted;
assert_eq!(two_sum_sorted(&[1, 3, 4, 6, 8, 11], 10), Some((2, 3)));
assert_eq!(two_sum_sorted(&[1, 2], 100), None);