File tree Expand file tree Collapse file tree 3 files changed +92
-0
lines changed
solution/2000-2099/2006.Count Number of Pairs With Absolute Difference K Expand file tree Collapse file tree 3 files changed +92
-0
lines changed Original file line number Diff line number Diff line change @@ -220,6 +220,44 @@ func countKDifference(nums []int, k int) int {
220
220
}
221
221
```
222
222
223
+ ### ** Rust**
224
+
225
+ ``` rust
226
+ impl Solution {
227
+ pub fn count_k_difference (nums : Vec <i32 >, k : i32 ) -> i32 {
228
+ let mut res = 0 ;
229
+ let n = nums . len ();
230
+ for i in 0 .. n - 1 {
231
+ for j in i .. n {
232
+ if (nums [i ] - nums [j ]). abs () == k {
233
+ res += 1 ;
234
+ }
235
+ }
236
+ }
237
+ res
238
+ }
239
+ }
240
+ ```
241
+
242
+ ``` rust
243
+ impl Solution {
244
+ pub fn count_k_difference (nums : Vec <i32 >, k : i32 ) -> i32 {
245
+ let mut arr = [0 ; 101 ];
246
+ let mut res = 0 ;
247
+ for num in nums {
248
+ if num - k >= 1 {
249
+ res += arr [(num - k ) as usize ];
250
+ }
251
+ if num + k <= 100 {
252
+ res += arr [(num + k ) as usize ]
253
+ }
254
+ arr [num as usize ] += 1 ;
255
+ }
256
+ res
257
+ }
258
+ }
259
+ ```
260
+
223
261
### ** ...**
224
262
225
263
```
Original file line number Diff line number Diff line change @@ -207,6 +207,44 @@ func countKDifference(nums []int, k int) int {
207
207
}
208
208
```
209
209
210
+ ### ** Rust**
211
+
212
+ ``` rust
213
+ impl Solution {
214
+ pub fn count_k_difference (nums : Vec <i32 >, k : i32 ) -> i32 {
215
+ let mut res = 0 ;
216
+ let n = nums . len ();
217
+ for i in 0 .. n - 1 {
218
+ for j in i .. n {
219
+ if (nums [i ] - nums [j ]). abs () == k {
220
+ res += 1 ;
221
+ }
222
+ }
223
+ }
224
+ res
225
+ }
226
+ }
227
+ ```
228
+
229
+ ``` rust
230
+ impl Solution {
231
+ pub fn count_k_difference (nums : Vec <i32 >, k : i32 ) -> i32 {
232
+ let mut arr = [0 ; 101 ];
233
+ let mut res = 0 ;
234
+ for num in nums {
235
+ if num - k >= 1 {
236
+ res += arr [(num - k ) as usize ];
237
+ }
238
+ if num + k <= 100 {
239
+ res += arr [(num + k ) as usize ]
240
+ }
241
+ arr [num as usize ] += 1 ;
242
+ }
243
+ res
244
+ }
245
+ }
246
+ ```
247
+
210
248
### ** ...**
211
249
212
250
```
Original file line number Diff line number Diff line change
1
+ impl Solution {
2
+ pub fn count_k_difference ( nums : Vec < i32 > , k : i32 ) -> i32 {
3
+ let mut arr = [ 0 ; 101 ] ;
4
+ let mut res = 0 ;
5
+ for num in nums {
6
+ if num - k >= 1 {
7
+ res += arr[ ( num - k) as usize ] ;
8
+ }
9
+ if num + k <= 100 {
10
+ res += arr[ ( num + k) as usize ]
11
+ }
12
+ arr[ num as usize ] += 1 ;
13
+ }
14
+ res
15
+ }
16
+ }
You can’t perform that action at this time.
0 commit comments