Fair Candy Swap LeetCode solution in Python

1
class Solution {
2
public:
3
vector<int> fairCandySwap(vector<int>& aliceSizes, vector<int>& bobSizes) {
4

5
sort(bobSizes.begin(),bobSizes.end());
6
sort(aliceSizes.begin(),aliceSizes.end());
7

8
int sum1=0;
9
int sum2=0;
10
vector <int> ans;
11
for(int i =0 ; i <aliceSizes.size(); i++)
12
{
13
sum1+=aliceSizes[i];
14
}
15
for(int i =0 ; i <bobSizes.size(); i++)
16
{
17
sum2+=bobSizes[i];
18
}
19

20
int dif = (sum1-sum2)/2;
21

22

23
for(int i = 0 ; i <aliceSizes.size(); i++)
24
{
25

26
int st=0;
27
int end = bobSizes.size()-1;
28

29
while(st<=end)
30
{
31
int mid = (st+end)/2;
32

33
if(bobSizes[mid]==aliceSizes[i]-dif)
34
{
35
ans.push_back(aliceSizes[i]);
36
ans.push_back(bobSizes[mid]);
37
return ans;
38
}
39

40
else if(bobSizes[mid]<aliceSizes[i]-dif)
41
{
42
st=mid+1;
43
}
44
else if(bobSizes[mid]>aliceSizes[i]-dif)
45
{
46
end=mid-1;
47
}
48

49
}
50
}
51

52
return ans;
53

54
}
55
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0