Skip to content

Commit 9614635

Browse files
committed
8-9-2020
1 parent 8e20a66 commit 9614635

6 files changed

+108
-2
lines changed

src/_0167_two_sum_ii.rs

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
struct Solution;
2+
3+
use std::cmp::Ordering::*;
4+
5+
impl Solution {
6+
pub fn two_sum(numbers: Vec<i32>, target: i32) -> Vec<i32> {
7+
let mut left: usize = 0;
8+
let mut right: usize = numbers.len() - 1;
9+
while left < right {
10+
match (numbers[left] + numbers[right]).cmp(&target) {
11+
Equal => {
12+
return vec![left as i32 + 1, right as i32 + 1];
13+
}
14+
Greater => {
15+
right -= 1;
16+
}
17+
Less => left += 1,
18+
}
19+
}
20+
return vec![-1, -1];
21+
}
22+
}
23+
24+
#[test]
25+
fn test() {
26+
assert_eq!(Solution::two_sum(vec![2, 7, 11, 15], 9), vec![1, 2]);
27+
}

src/_0252_meeting_rooms.rs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
struct Solution;
2+
3+
impl Solution {
4+
pub fn can_attend_meetings(mut intervals: Vec<Vec<i32>>) -> bool {
5+
intervals.sort_unstable();
6+
for i in 1..intervals.len() {
7+
if intervals[i - 1][1] > intervals[i][0] {
8+
return false;
9+
}
10+
}
11+
return true;
12+
}
13+
}
14+
15+
#[test]
16+
fn test() {
17+
assert_eq!(
18+
Solution::can_attend_meetings(vec_vec_i32![[0, 30], [5, 10], [15, 20]]),
19+
false
20+
);
21+
assert_eq!(
22+
Solution::can_attend_meetings(vec_vec_i32![[7, 10], [2, 4]]),
23+
true
24+
);
25+
}

src/_0532_kdiff_pairs_in_an_array.rs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
struct Solution;
2+
3+
use std::collections::HashMap;
4+
5+
impl Solution {
6+
pub fn find_pairs(nums: Vec<i32>, k: i32) -> i32 {
7+
if k < 0 {
8+
return 0;
9+
}
10+
if nums.len() < 2 {
11+
return 0;
12+
}
13+
let mut h_map: HashMap<i32, bool> = HashMap::new();
14+
15+
for v in nums {
16+
if let Some(x) = h_map.get_mut(&v) {
17+
*x = true;
18+
} else {
19+
h_map.insert(v, false);
20+
}
21+
}
22+
23+
let mut result: i32 = 0;
24+
if k == 0 {
25+
for (_, value) in h_map.into_iter() {
26+
if value {
27+
result += 1;
28+
}
29+
}
30+
} else {
31+
for (key, _) in h_map.iter() {
32+
let target: i32 = k + key;
33+
if h_map.contains_key(&target) {
34+
result += 1;
35+
}
36+
}
37+
}
38+
result
39+
}
40+
}
41+
42+
#[test]
43+
fn test() {
44+
assert_eq!(Solution::find_pairs(vec![3, 1, 4, 1, 5], 2), 2);
45+
assert_eq!(Solution::find_pairs(vec![1, 2, 3, 4, 5], 1), 4);
46+
assert_eq!(Solution::find_pairs(vec![1, 3, 1, 5, 4], 0), 1);
47+
}

src/_1539_kth_missing_positive_number.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ struct Solution;
22

33
impl Solution {
44
pub fn find_kth_positive(arr: Vec<i32>, k: i32) -> i32 {
5-
let mut arr = arr;
65
let mut k = k;
76
let mut h_dummy: i32 = 1;
87
let mut index: usize = 0;

src/_1540_can_convert_string_in_k_moves.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ impl Solution {
3737
#[test]
3838
fn test() {
3939
assert_eq!(
40-
Solution::can_convert_string("input".to_string(), "output".to_string(), 9),
40+
Solution::can_convert_string("input".to_string(), "ouput".to_string(), 9),
4141
true
4242
);
4343
assert_eq!(

src/lib.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,8 @@ mod _0136_single_number;
7272
//
7373
mod _0155_min_stack;
7474
//
75+
mod _0167_two_sum_ii;
76+
//
7577
mod _0169_majority_element;
7678
//
7779
mod _0189_rotate_array;
@@ -98,6 +100,8 @@ mod _0242_valid_anagram;
98100
//
99101
mod _0243_shortest_word_distance;
100102
//
103+
mod _0252_meeting_rooms;
104+
//
101105
mod _0256_paint_house;
102106
//
103107
mod _0257_binary_tree_paths;
@@ -138,6 +142,8 @@ mod _0509_fibonacci_number;
138142
//
139143
mod _0520_detect_capital;
140144
//
145+
mod _0532_kdiff_pairs_in_an_array;
146+
//
141147
mod _0556_next_greater_element_iii;
142148
//
143149
mod _0557_reverse_words_in_a_string_iii;
@@ -212,4 +218,6 @@ mod _1535_find_the_winner_of_an_array_game;
212218
//
213219
mod _1537_get_the_maximum_score;
214220
//
221+
mod _1539_kth_missing_positive_number;
222+
//
215223
mod _1540_can_convert_string_in_k_moves;

0 commit comments

Comments
 (0)