File tree 3 files changed +50
-1
lines changed
3 files changed +50
-1
lines changed Original file line number Diff line number Diff line change 140
140
| 520 | [ Detect Capital] ( https://leetcode.com/problems/detect-capital ) | Easy | [ ![ Java] ( assets/java.png )] ( src/DetectCapital.java ) [ ![ Python] ( assets/python.png )] ( python/detect_capital.py ) |
141
141
| 521 | [ Longest Uncommon Subsequence I] ( https://leetcode.com/problems/longest-uncommon-subsequence-i ) | Easy | [ ![ Java] ( assets/java.png )] ( src/LongestUncommonSubsequenceI.java ) [ ![ Python] ( assets/python.png )] ( python/longest_uncommon_subsequence_I.py ) |
142
142
| 530 | [ Minimum Absolute Difference in BST] ( https://leetcode.com/problems/minimum-absolute-difference-in-bst ) | Easy | [ ![ Java] ( assets/java.png )] ( src/MinimumAbsoluteDifferenceInBST.java ) [ ![ Python] ( assets/python.png )] ( python/minimum_absolute_difference_in_bst.py ) |
143
- | 532 | [ K - Diff Pairs in Array] ( https://leetcode.com/problems/k-diff-pairs-in-an-array ) | Easy | |
143
+ | 532 | [ K - Diff Pairs in Array] ( https://leetcode.com/problems/k-diff-pairs-in-an-array ) | Easy | [ ![ Java ] ( assets/java.png )] ( src/KDiffPairsInAnArray.java ) [ ![ Python ] ( assets/python.png )] ( python/k_dif_pairs_in_an_array.py ) |
144
144
| 538 | [ Convert BST to Greater Tree] ( https://leetcode.com/problems/convert-bst-to-greater-tree ) | Easy | |
145
145
| 541 | [ Reverse String II] ( https://leetcode.com/problems/reverse-string-ii ) | Easy | |
146
146
| 543 | [ Diameter of Binary Tree] ( https://leetcode.com/problems/diameter-of-binary-tree ) | Easy | |
Original file line number Diff line number Diff line change
1
+ from typing import List
2
+
3
+
4
+ class Solution :
5
+ def findPairs (self , nums : List [int ], k : int ) -> int :
6
+ pairs = 0
7
+ if k == 0 :
8
+ frequencies = {}
9
+ for number in nums :
10
+ frequencies [number ] = frequencies .get (number , 0 ) + 1
11
+ for frequency in frequencies .values ():
12
+ pairs += 1 if frequency > 1 else 0
13
+ else :
14
+ numbers = set ()
15
+ for number in nums :
16
+ if number not in numbers :
17
+ pairs += 1 if (number - k ) in numbers else 0
18
+ pairs += 1 if (number + k ) in numbers else 0
19
+ numbers .add (number )
20
+ return pairs
Original file line number Diff line number Diff line change
1
+ import java .util .HashMap ;
2
+ import java .util .HashSet ;
3
+ import java .util .Map ;
4
+ import java .util .Set ;
5
+
6
+ public class KDiffPairsInAnArray {
7
+ public int findPairs (int [] nums , int k ) {
8
+ int pairs = 0 ;
9
+ if (k == 0 ) {
10
+ Map <Integer , Integer > frequencies = new HashMap <>();
11
+ for (int number : nums ) {
12
+ frequencies .put (number , frequencies .getOrDefault (number , 0 ) + 1 );
13
+ }
14
+ for (int frequency : frequencies .values ()) {
15
+ pairs += frequency > 1 ? 1 : 0 ;
16
+ }
17
+ } else {
18
+ Set <Integer > numbers = new HashSet <>();
19
+ for (int number : nums ) {
20
+ if (!numbers .contains (number )) {
21
+ pairs += numbers .contains (number - k ) ? 1 : 0 ;
22
+ pairs += numbers .contains (number + k ) ? 1 : 0 ;
23
+ numbers .add (number );
24
+ }
25
+ }
26
+ }
27
+ return pairs ;
28
+ }
29
+ }
You can’t perform that action at this time.
0 commit comments