File tree Expand file tree Collapse file tree 2 files changed +39
-2
lines changed
2025-08-August-LeetCoding-Challenge Expand file tree Collapse file tree 2 files changed +39
-2
lines changed Original file line number Diff line number Diff line change 55| Day | Problem | Level | Status |
66| --- | --- | --- | --- |
77| August 01 | [ 118. Pascal's Triangle] ( https://leetcode.com/problems/pascals-triangle/ ) | Easy | Solved |
8- | August 02 | [ ] ( ) | | |
8+ | August 02 | [ 2561. Rearranging Fruits ] ( https://leetcode.com/problems/rearranging-fruits/ ) | Hard | Solved |
99| August 03 | [ ] ( ) | | |
1010| August 04 | [ ] ( ) | | |
1111| August 05 | [ ] ( ) | | |
4242| --- | --- | --- | --- |
4343| Easy | 1 | 1 | 0 |
4444| Medium | 0 | 0 | 0 |
45- | Hard | 0 | 0 | 0 |
45+ | Hard | 1 | 1 | 0 |
Original file line number Diff line number Diff line change 1+ class Solution :
2+ def minCost (self , basket1 : list [int ], basket2 : list [int ]) -> int :
3+ freq = dict ()
4+ min_fruit = float ('inf' )
5+
6+ for fruit in basket1 :
7+ freq [fruit ] = freq .get (fruit , 0 ) + 1
8+ min_fruit = min (min_fruit , fruit )
9+ for fruit in basket2 :
10+ freq [fruit ] = freq .get (fruit , 0 ) - 1
11+ min_fruit = min (min_fruit , fruit )
12+
13+ swap = []
14+ for fruit , count in freq .items ():
15+ if count & 1 != 0 :
16+ return - 1
17+ swap .extend ([fruit ] * (abs (count ) // 2 ))
18+
19+ swap .sort ()
20+ min_cost = 0
21+ for fruit in swap [:len (swap ) // 2 ]:
22+ min_cost += min (2 * min_fruit , fruit )
23+ return min_cost
24+
25+
26+ def main ():
27+ basket1 = [4 , 2 , 2 , 2 ]
28+ basket2 = [1 , 4 , 1 , 2 ]
29+ assert Solution ().minCost (basket1 , basket2 ) == 1
30+
31+ basket1 = [2 , 3 , 4 , 1 ]
32+ basket2 = [3 , 2 , 5 , 1 ]
33+ assert Solution ().minCost (basket1 , basket2 ) == - 1
34+
35+
36+ if __name__ == '__main__' :
37+ main ()
You can’t perform that action at this time.
0 commit comments