import
java.util.*;
class
GFG {
public
static
int
MaxCollection(
String S,
int
P,
int
Q)
{
char
maxstr[]
= (P >= Q ?
"ab"
:
"ba"
).toCharArray();
char
minstr[]
= (P >= Q ?
"ba"
:
"ab"
).toCharArray();
int
maxp = Math.max(P, Q);
int
minp = Math.min(P, Q);
int
cost =
0
;
Stack<Character> stack1 =
new
Stack<>();
char
[] s = S.toCharArray();
for
(
char
ch : s) {
if
(!stack1.isEmpty()
&& (stack1.peek() == maxstr[
0
]
&& ch == maxstr[
1
])) {
stack1.pop();
cost += maxp;
}
else
{
stack1.push(ch);
}
}
StringBuilder sb =
new
StringBuilder();
while
(!stack1.isEmpty())
sb.append(stack1.pop());
sb = sb.reverse();
String remstr = sb.toString();
for
(
char
ch : remstr.toCharArray()) {
if
(!stack1.isEmpty()
&& (stack1.peek() == minstr[
0
]
&& ch == minstr[
1
])) {
stack1.pop();
cost += minp;
}
else
{
stack1.push(ch);
}
}
return
cost;
}
public
static
void
main(String[] args)
{
String S =
"cbbaabbaab"
;
int
P =
6
;
int
Q =
4
;
System.out.println(MaxCollection(S, P, Q));
}
}
Original page link
Best Cool Tech Gadgets
Top favorite technology gadgets
0 comments:
Post a Comment