Skip to content

Commit 34a48ba

Browse files
committed
3 problems solved.
1 parent fd8348d commit 34a48ba

File tree

3 files changed

+86
-0
lines changed

3 files changed

+86
-0
lines changed

src/199.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
vector<int> rightSideView(TreeNode* root) {
2+
3+
}

src/860.cpp

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
bool lemonadeChange(vector<int>& bills) {
2+
int len = bills.size();
3+
if (len == 0)
4+
return true;
5+
else if (len == 1)
6+
return bills[0] == 5;
7+
8+
int change[3] = {0};
9+
int i = 0;
10+
while (i < len)
11+
{
12+
if (bills[i] == 5)
13+
++change[0];
14+
else if (bills[i] == 10)
15+
{
16+
if (change[0] > 0)
17+
{
18+
--change[0];
19+
++change[1];
20+
}
21+
else
22+
return false;
23+
}
24+
else
25+
{
26+
if (change[0] > 0 && change[1] > 0)
27+
{
28+
--change[0];
29+
--change[1];
30+
++change[2];
31+
}
32+
else if (change[0] >= 3)
33+
{
34+
change[0] -= 3;
35+
++change[2];
36+
}
37+
else
38+
return false;
39+
}
40+
++i;
41+
}
42+
43+
return true;
44+
}

src/888.cpp

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
vector<int> fairCandySwap(vector<int>& A, vector<int>& B) {
2+
int len1 = A.size();
3+
int len2 = B.size();
4+
if (len1 == 1 && len2 == 1)
5+
return {A[0], B[0]};
6+
7+
vector<int> res(2, 0);
8+
int arr1[100001] = {0};
9+
int arr2[100001] = {0};
10+
int sum1 = 0, sum2 = 0;
11+
12+
for (int i = 0; i < len1; ++i)
13+
{
14+
sum1 += A[i];
15+
++arr1[A[i]];
16+
}
17+
for (int i = 0; i < len2; ++i)
18+
{
19+
sum2 += B[i];
20+
++arr2[B[i]];
21+
}
22+
23+
int diff = (sum1 - sum2)/2;
24+
int i = 0;
25+
int k = 0;
26+
while (i < len1)
27+
{
28+
if (diff < 0 && A[i]-diff <= 100000 && B[A[i]-diff] != 0)
29+
break;
30+
else if (diff > 0 && A[i] > diff && B[A[i]-diff] != 0)
31+
break;
32+
++i;
33+
}
34+
35+
res[0] = A[i];
36+
res[1] = A[i]-diff;
37+
38+
return res;
39+
}

0 commit comments

Comments
 (0)