Skip to content

Commit 99dfd20

Browse files
committed
Add rust implementation of squares of a sorted array
1 parent 5bbdff7 commit 99dfd20

File tree

2 files changed

+30
-1
lines changed

2 files changed

+30
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ If you would like to have collaborator permissions on the repo to merge your own
161161
<sub>[0035 - Search Insert Position](https://leetcode.com/problems/search-insert-position/)</sub> | <sub><div align='center'>[✔️](c%2F0035-search-insert-position.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0035-search-insert-position.cpp)</div></sub> | <sub><div align='center'>[✔️](csharp%2F0035-search-insert-position.cs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0035-search-insert-position.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0035-search-insert-position.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0035-search-insert-position.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0035-search-insert-position.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0035-search-insert-position.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](rust%2F0035-search-insert-position.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0035-search-insert-position.swift)</div></sub> | <sub><div align='center'>[✔️](typescript%2F0035-search-insert-position.ts)</div></sub>
162162
<sub>[0374 - Guess Number Higher Or Lower](https://leetcode.com/problems/guess-number-higher-or-lower/)</sub> | <sub><div align='center'>[✔️](c%2F0374-guess-number-higher-or-lower.c)</div></sub> | <sub><div align='center'>[✔️](cpp%2F0374-guess-number-higher-or-lower.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0374-guess-number-higher-or-lower.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0374-guess-number-higher-or-lower.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0374-guess-number-higher-or-lower.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0374-guess-number-higher-or-lower.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0374-guess-number-higher-or-lower.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](rust%2F0374-guess-number-higher-or-lower.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0374-guess-number-higher-or-lower.swift)</div></sub> | <sub><div align='center'>❌</div></sub>
163163
<sub>[0441 - Arranging Coins](https://leetcode.com/problems/arranging-coins/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0441-arranging-coins.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F0441-arranging-coins.java)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0441-arranging-coins.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0441-arranging-coins.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
164-
<sub>[0977 - Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0977-squares-of-a-sorted-array.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0977-squares-of-a-sorted-array.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0977-squares-of-a-sorted-array.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0977-squares-of-a-sorted-array.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0977-squares-of-a-sorted-array.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0977-squares-of-a-sorted-array.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0977-squares-of-a-sorted-array.ts)</div></sub>
164+
<sub>[0977 - Squares of a Sorted Array](https://leetcode.com/problems/squares-of-a-sorted-array/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0977-squares-of-a-sorted-array.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](go%2F0977-squares-of-a-sorted-array.go)</div></sub> | <sub><div align='center'>[✔️](java%2F0977-squares-of-a-sorted-array.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0977-squares-of-a-sorted-array.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0977-squares-of-a-sorted-array.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0977-squares-of-a-sorted-array.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](rust/0977-squares-of-a-sorted-array.rs)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0977-squares-of-a-sorted-array.ts)</div></sub>
165165
<sub>[0367 - Valid Perfect Square](https://leetcode.com/problems/valid-perfect-square/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0367-valid-perfect-square.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F0367-valid-perfect-square.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0367-valid-perfect-square.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0367-valid-perfect-square.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0367-valid-perfect-square.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](swift%2F0367-valid-perfect-square.swift)</div></sub> | <sub><div align='center'>❌</div></sub>
166166
<sub>[0069 - Sqrt(x) ](https://leetcode.com/problems/sqrtx/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](java%2F0069-sqrtx.java)</div></sub> | <sub><div align='center'>[✔️](javascript%2F0069-sqrtx.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0069-sqrtx.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0069-sqrtx.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub>
167167
<sub>[0540 - Single Element in a Sorted Array](https://leetcode.com/problems/single-element-in-a-sorted-array/)</sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](cpp%2F0540-single-element-in-a-sorted-array.cpp)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](javascript%2F0540-single-element-in-a-sorted-array.js)</div></sub> | <sub><div align='center'>[✔️](kotlin%2F0540-single-element-in-a-sorted-array.kt)</div></sub> | <sub><div align='center'>[✔️](python%2F0540-single-element-in-a-sorted-array.py)</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>❌</div></sub> | <sub><div align='center'>[✔️](typescript%2F0540-single-element-in-a-sorted-array.ts)</div></sub>
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
impl Solution {
2+
pub fn sorted_squares(nums: Vec<i32>) -> Vec<i32> {
3+
let mut sq: Vec<i32> = vec![0; nums.len()];
4+
let mut i = nums.len() as isize - 1;
5+
let mut l = 0;
6+
let mut r = nums.len() as isize - 1;
7+
8+
while l <= r {
9+
if nums[l as usize].abs() > nums[r as usize].abs() {
10+
sq[i as usize] = nums[l as usize] * nums[l as usize];
11+
l += 1;
12+
} else {
13+
sq[i as usize] = nums[r as usize] * nums[r as usize];
14+
r -= 1;
15+
}
16+
i -= 1;
17+
}
18+
19+
sq
20+
}
21+
}
22+
23+
fn abs(x: i32) -> i32 {
24+
if x < 0 {
25+
x * -1
26+
} else {
27+
x
28+
}
29+
}

0 commit comments

Comments
 (0)