g2301_2400.s2303_calculate_amount_paid_in_taxes.readme.md Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of leetcode-in-java Show documentation
Show all versions of leetcode-in-java Show documentation
Java-based LeetCode algorithm problem solutions, regularly updated
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`.