File tree Expand file tree Collapse file tree 3 files changed +50
-1
lines changed Expand file tree Collapse file tree 3 files changed +50
-1
lines changed Original file line number Diff line number Diff line change 140140| 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 ) |
141141| 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 ) |
142142| 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 ) |
144144| 538 | [ Convert BST to Greater Tree] ( https://leetcode.com/problems/convert-bst-to-greater-tree ) | Easy | |
145145| 541 | [ Reverse String II] ( https://leetcode.com/problems/reverse-string-ii ) | Easy | |
146146| 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