【力扣系列】2303题计算应缴税款总额

题目:

ff70770efd0744ebb2cbb1343ccda55a.png

37163a8503224cc99555eb0666b6c678.png 

解题思路 :

1,分治,找到分段的切割点

2,找到终止条件

答案:

java实现

class Solution {

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

        double tax=0D;

        double prev=0D;

        for(int i=0;i<brackets.length;i++){

            if(income>0){

                double val = brackets[i][0]-prev; //区间税额

                double money = (val>income)?income:val; //要交税的金额

                tax += money*brackets[i][1]/100; //税额

                income-=money; // 减去已经计算过的金额

                prev=brackets[i][0]; //下一个计税的起点

            }else{

                break;

            }

        }

        return tax;

    }

注意点:  税额要使用浮点型,不要用整型,不然会被坑到。


有用就点赞哦!

b193a920f60741628110f83c78d1bb22.png

猜你喜欢

转载自blog.csdn.net/wangerrong/article/details/125269569