Skip to content

Commit f9e7f6d

Browse files
committed
feat: add solutions to lc problems: No.0973,1630
- No.0973.K Closest Points to Origin - No.1630.Arithmetic Subarrays
1 parent 7ef8a07 commit f9e7f6d

File tree

7 files changed

+161
-0
lines changed

7 files changed

+161
-0
lines changed

solution/0900-0999/0973.K Closest Points to Origin/README.md

+13
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,19 @@ function kClosest(points: number[][], k: number): number[][] {
115115
}
116116
```
117117

118+
### **Rust**
119+
120+
```rust
121+
impl Solution {
122+
pub fn k_closest(mut points: Vec<Vec<i32>>, k: i32) -> Vec<Vec<i32>> {
123+
points.sort_unstable_by(|a, b| {
124+
(a[0].pow(2) + a[1].pow(2)).cmp(&(b[0].pow(2) + b[1].pow(2)))
125+
});
126+
points[0..k as usize].to_vec()
127+
}
128+
}
129+
```
130+
118131
### **...**
119132

120133
```

solution/0900-0999/0973.K Closest Points to Origin/README_EN.md

+13
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,19 @@ function kClosest(points: number[][], k: number): number[][] {
103103
}
104104
```
105105

106+
### **Rust**
107+
108+
```rust
109+
impl Solution {
110+
pub fn k_closest(mut points: Vec<Vec<i32>>, k: i32) -> Vec<Vec<i32>> {
111+
points.sort_unstable_by(|a, b| {
112+
(a[0].pow(2) + a[1].pow(2)).cmp(&(b[0].pow(2) + b[1].pow(2)))
113+
});
114+
points[0..k as usize].to_vec()
115+
}
116+
}
117+
```
118+
106119
### **...**
107120

108121
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
impl Solution {
2+
pub fn k_closest(mut points: Vec<Vec<i32>>, k: i32) -> Vec<Vec<i32>> {
3+
points.sort_unstable_by(|a, b| {
4+
(a[0].pow(2) + a[1].pow(2)).cmp(&(b[0].pow(2) + b[1].pow(2)))
5+
});
6+
points[0..k as usize].to_vec()
7+
}
8+
}

solution/1600-1699/1630.Arithmetic Subarrays/README.md

+46
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,52 @@ func min(a, b int) int {
206206
}
207207
```
208208

209+
### **TypeScript**
210+
211+
```ts
212+
function checkArithmeticSubarrays(
213+
nums: number[],
214+
l: number[],
215+
r: number[],
216+
): boolean[] {
217+
const m = l.length;
218+
const res = new Array(m).fill(true);
219+
for (let i = 0; i < m; i++) {
220+
const arr = nums.slice(l[i], r[i] + 1).sort((a, b) => b - a);
221+
for (let j = 2; j < arr.length; j++) {
222+
if (arr[j - 2] - arr[j - 1] !== arr[j - 1] - arr[j]) {
223+
res[i] = false;
224+
break;
225+
}
226+
}
227+
}
228+
return res;
229+
}
230+
231+
```
232+
233+
### **Rust**
234+
235+
```rust
236+
impl Solution {
237+
pub fn check_arithmetic_subarrays(nums: Vec<i32>, l: Vec<i32>, r: Vec<i32>) -> Vec<bool> {
238+
let m = l.len();
239+
let mut res = vec![true; m];
240+
for i in 0..m {
241+
let mut arr = nums[l[i] as usize..=r[i] as usize].to_vec();
242+
arr.sort();
243+
for j in 2..arr.len() {
244+
if arr[j - 2] - arr[j - 1] != arr[j - 1] - arr[j] {
245+
res[i] = false;
246+
break;
247+
}
248+
}
249+
}
250+
res
251+
}
252+
}
253+
```
254+
209255
### **...**
210256

211257
```

solution/1600-1699/1630.Arithmetic Subarrays/README_EN.md

+46
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,52 @@ func min(a, b int) int {
200200
}
201201
```
202202

203+
### **TypeScript**
204+
205+
```ts
206+
function checkArithmeticSubarrays(
207+
nums: number[],
208+
l: number[],
209+
r: number[],
210+
): boolean[] {
211+
const m = l.length;
212+
const res = new Array(m).fill(true);
213+
for (let i = 0; i < m; i++) {
214+
const arr = nums.slice(l[i], r[i] + 1).sort((a, b) => b - a);
215+
for (let j = 2; j < arr.length; j++) {
216+
if (arr[j - 2] - arr[j - 1] !== arr[j - 1] - arr[j]) {
217+
res[i] = false;
218+
break;
219+
}
220+
}
221+
}
222+
return res;
223+
}
224+
225+
```
226+
227+
### **Rust**
228+
229+
```rust
230+
impl Solution {
231+
pub fn check_arithmetic_subarrays(nums: Vec<i32>, l: Vec<i32>, r: Vec<i32>) -> Vec<bool> {
232+
let m = l.len();
233+
let mut res = vec![true; m];
234+
for i in 0..m {
235+
let mut arr = nums[l[i] as usize..=r[i] as usize].to_vec();
236+
arr.sort();
237+
for j in 2..arr.len() {
238+
if arr[j - 2] - arr[j - 1] != arr[j - 1] - arr[j] {
239+
res[i] = false;
240+
break;
241+
}
242+
}
243+
}
244+
res
245+
}
246+
}
247+
```
248+
203249
### **...**
204250

205251
```
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
impl Solution {
2+
pub fn check_arithmetic_subarrays(nums: Vec<i32>, l: Vec<i32>, r: Vec<i32>) -> Vec<bool> {
3+
let m = l.len();
4+
let mut res = vec![true; m];
5+
for i in 0..m {
6+
let mut arr = nums[l[i] as usize..=r[i] as usize].to_vec();
7+
arr.sort();
8+
for j in 2..arr.len() {
9+
if arr[j - 2] - arr[j - 1] != arr[j - 1] - arr[j] {
10+
res[i] = false;
11+
break;
12+
}
13+
}
14+
}
15+
res
16+
}
17+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
function checkArithmeticSubarrays(
2+
nums: number[],
3+
l: number[],
4+
r: number[],
5+
): boolean[] {
6+
const m = l.length;
7+
const res = new Array(m).fill(true);
8+
for (let i = 0; i < m; i++) {
9+
const arr = nums.slice(l[i], r[i] + 1).sort((a, b) => b - a);
10+
for (let j = 2; j < arr.length; j++) {
11+
if (arr[j - 2] - arr[j - 1] !== arr[j - 1] - arr[j]) {
12+
res[i] = false;
13+
break;
14+
}
15+
}
16+
}
17+
return res;
18+
}

0 commit comments

Comments
 (0)