File tree Expand file tree Collapse file tree 1 file changed +16
-13
lines changed
src/main/java/g1601_1700/s1679_max_number_of_k_sum_pairs Expand file tree Collapse file tree 1 file changed +16
-13
lines changed Original file line number Diff line number Diff line change 11package g1601_1700 .s1679_max_number_of_k_sum_pairs ;
22
33// #Medium #Array #Hash_Table #Sorting #Two_Pointers
4+ // #2022_04_21_Time_22_ms_(85.31%)_Space_67.1_MB_(70.80%)
45
5- import java .util .HashMap ;
6- import java .util .Map ;
6+ import java .util .Arrays ;
77
88public class Solution {
99 public int maxOperations (int [] nums , int k ) {
10- Map <Integer , Integer > map = new HashMap <>();
11- int ops = 0 ;
12- for (int num : nums ) {
13- if (map .containsKey (k - num )) {
14- map .put (k - num , map .get (k - num ) - 1 );
15- ops ++;
16- if (map .get (k - num ) == 0 ) {
17- map .remove (k - num );
18- }
10+ Arrays .sort (nums );
11+ int i = 0 ;
12+ int c = 0 ;
13+ int j = nums .length - 1 ;
14+ while (i < j ) {
15+ int sum = nums [i ] + nums [j ];
16+ if (sum == k ) {
17+ c ++;
18+ i ++;
19+ j --;
20+ } else if (sum > k ) {
21+ j --;
1922 } else {
20- map . put ( num , map . getOrDefault ( num , 0 ) + 1 ) ;
23+ i ++ ;
2124 }
2225 }
23- return ops ;
26+ return c ;
2427 }
2528}
You can’t perform that action at this time.
0 commit comments