20240426 Finished
This commit is contained in:
parent
d27f640226
commit
4de10fa2f3
|
@ -112,4 +112,5 @@ mod p151_reverse_words_in_a_string;
|
|||
mod p28_find_the_index_of_the_first_occurrence_in_a_string;
|
||||
mod p68_text_justification;
|
||||
mod p125_valid_palindrome;
|
||||
mod p392_is_subsequence;
|
||||
mod p392_is_subsequence;
|
||||
mod p167_two_sum_ii_input_array_is_sorted;
|
43
src/problem/p167_two_sum_ii_input_array_is_sorted.rs
Normal file
43
src/problem/p167_two_sum_ii_input_array_is_sorted.rs
Normal file
|
@ -0,0 +1,43 @@
|
|||
/**
|
||||
* [167] Two Sum II - Input Array Is Sorted
|
||||
*/
|
||||
pub struct Solution {}
|
||||
|
||||
|
||||
// submission codes start here
|
||||
|
||||
impl Solution {
|
||||
pub fn two_sum(numbers: Vec<i32>, target: i32) -> Vec<i32> {
|
||||
let mut i = 0;
|
||||
let mut j = numbers.len() - 1;
|
||||
|
||||
while i < j {
|
||||
let sum = numbers[i] + numbers[j];
|
||||
|
||||
if sum == target {
|
||||
break;
|
||||
}
|
||||
else if sum < target {
|
||||
i += 1;
|
||||
}
|
||||
else {
|
||||
j -= 1;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
vec![(i + 1) as i32 , (j + 1) as i32]
|
||||
}
|
||||
}
|
||||
|
||||
// submission codes end
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
fn test_167() {
|
||||
assert_eq!(vec![1,2], Solution::two_sum(vec![2,7,11,15], 9));
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user