Class Solution


  • public class Solution
    extends Object
    2303 - Calculate Amount Paid in Taxes\. Easy You are given a **0-indexed** 2D integer array `brackets` where brackets[i] = [upperi, percenti] means that the ith tax bracket has an upper bound of upperi and is taxed at a rate of percenti. The brackets are **sorted** by upper bound (i.e. upperi-1 < upperi for `0 < i < brackets.length`). Tax is calculated as follows: * The first upper0 dollars earned are taxed at a rate of percent0. * The next upper1 - upper0 dollars earned are taxed at a rate of percent1. * The next upper2 - upper1 dollars earned are taxed at a rate of percent2. * And so on. You are given an integer `income` representing the amount of money you earned. Return _the amount of money that you have to pay in taxes._ Answers within 10-5 of the actual answer will be accepted. **Example 1:** **Input:** brackets = \[\[3,50],[7,10],[12,25]], income = 10 **Output:** 2.65000 **Explanation:** The first 3 dollars you earn are taxed at 50%. You have to pay $3 \* 50% = $1.50 dollars in taxes. The next 7 - 3 = 4 dollars you earn are taxed at 10%. You have to pay $4 \* 10% = $0.40 dollars in taxes. The final 10 - 7 = 3 dollars you earn are taxed at 25%. You have to pay $3 \* 25% = $0.75 dollars in taxes. You have to pay a total of $1.50 + $0.40 + $0.75 = $2.65 dollars in taxes. **Example 2:** **Input:** brackets = \[\[1,0],[4,25],[5,50]], income = 2 **Output:** 0.25000 **Explanation:** The first dollar you earn is taxed at 0%. You have to pay $1 \* 0% = $0 dollars in taxes. The second dollar you earn is taxed at 25%. You have to pay $1 \* 25% = $0.25 dollars in taxes. You have to pay a total of $0 + $0.25 = $0.25 dollars in taxes. **Example 3:** **Input:** brackets = \[\[2,50]], income = 0 **Output:** 0.00000 **Explanation:** You have no income to tax, so you have to pay a total of $0 dollars in taxes. **Constraints:** * `1 <= brackets.length <= 100` * 1 <= upperi <= 1000 * 0 <= percenti <= 100 * `0 <= income <= 1000` * upperi is sorted in ascending order. * All the values of upperi are **unique**. * The upper bound of the last tax bracket is greater than or equal to `income`.
    • Constructor Detail

      • Solution

        public Solution()
    • Method Detail

      • calculateTax

        public double calculateTax​(int[][] brackets,
                                   int income)