Skip to content

Commit 32f379d

Browse files
committed
add new practise
1 parent 3d28b48 commit 32f379d

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,60 @@
11
package com.cs.algorithm;
22

33
public class LemonadeChange {
4+
5+
public static void main(String[] args) {
6+
int[] bills = new int[]{5, 5, 10, 10, 20};
7+
boolean result = lemonadeChange(bills);
8+
System.out.println(result);
9+
}
10+
11+
public static boolean lemonadeChange(int[] bills) {
12+
int fiveRemain = 0;
13+
int tenRemain = 0;
14+
int twentyRemain = 0;
15+
16+
int totalRemain = 0;
17+
18+
for (int i = 0, length = bills.length; i < length; i++) {
19+
int change = bills[i] - 5;
20+
if (change > totalRemain) {
21+
return false;
22+
}
23+
if (change == 0) {
24+
fiveRemain = fiveRemain + 5;
25+
totalRemain = totalRemain + 5;
26+
continue;
27+
}
28+
if (change == 5) {
29+
if (fiveRemain < 5) {
30+
return false;
31+
}
32+
fiveRemain = fiveRemain - 5;
33+
tenRemain = tenRemain + 10;
34+
totalRemain = totalRemain + 5;
35+
continue;
36+
}
37+
if (change == 15) {
38+
if (fiveRemain < 5) {
39+
return false;
40+
}
41+
if (tenRemain > 0) {
42+
fiveRemain = fiveRemain - 5;
43+
tenRemain = tenRemain - 10;
44+
twentyRemain = twentyRemain + 20;
45+
totalRemain = totalRemain + 5;
46+
continue;
47+
} else {
48+
if (fiveRemain < 15) {
49+
return false;
50+
}
51+
fiveRemain = fiveRemain - 15;
52+
twentyRemain = twentyRemain + 20;
53+
totalRemain = totalRemain + 5;
54+
}
55+
}
56+
}
57+
return true;
58+
}
59+
460
}

0 commit comments

Comments
 (0)