Description

You are keeping score for a baseball game. Calculate final score given operations: integer (add score), + (sum of previous two), D (double last), C (invalidate last).

Examples

Input:ops = ["5","2","C","D","+"]
Output:30
Explanation:

5,2,invalid,10,15 → 30.

Input:ops = ["5","-2","4","C","D","9","+","+"]
Output:27
Explanation:

Record 5 (record=[5]), record -2 (record=[5,-2]), record 4 (record=[5,-2,4]), C invalidates 4 (record=[5,-2]), D doubles -2 to -4 (record=[5,-2,-4]), record 9 (record=[5,-2,-4,9]), + sums last two: -4+9=5 (record=[5,-2,-4,9,5]), + sums last two: 9+5=14 (record=[5,-2,-4,9,5,14]). Total = 5+(-2)+(-4)+9+5+14 = 27.

Input:ops = ["1","C","3","D","2","+"]
Output:19
Explanation:

Record 1, then C cancels it (record=[]), record 3 (record=[3]), D doubles last to 6 (record=[3,6]), record 2 (record=[3,6,2]), + sums last two: 6+2=8 (record=[3,6,2,8]). Total = 3+6+2+8 = 19.

Constraints

  • 1 ≤ ops.length ≤ 1000

Ready to solve this problem?

Practice solo or challenge other developers in a real-time coding battle!