File tree Expand file tree Collapse file tree 3 files changed +86
-0
lines changed Expand file tree Collapse file tree 3 files changed +86
-0
lines changed Original file line number Diff line number Diff line change
1
+ vector<int > rightSideView (TreeNode* root) {
2
+
3
+ }
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments