【LeetCode】 计算应缴税款总额 Java 题解
题目描述
给你一个下标从 0 开始的二维整数数组 brackets ,其中 brackets[i] = [upperi, percenti] ,表示第 i 个税级的上限是 upperi ,征收的税率为 percenti 。税级按上限 从低到高排序(在满足 0 < i < brackets.length 的前提下,upperi-1 < upperi)。
税款计算方式如下:
不超过 upper0 的收入按税率 percent0 缴纳接着 upper1 - upper0 的部分按税率 percent1 缴纳然后 upper2 - upper1 的部分按税率 percent2 缴纳以此类推给你一个整数 income 表示你的总收入。返回你需要缴纳的税款总额。与标准答案误差不超 10-5 的结果将被视作正确答案。
复制代码
思路分析
今天的算法题目是计算应缴税款总额,这个题目很好,接近我们的日常生活。纳税是我们每个人应尽的义务。我我们目前的纳税是阶梯分段纳税的。
按照题目的描述,每个数组,0 元素表述梯度,1 元素表示税率。每个阶段,最多按照 0 元素的元素来缴税,可以小于 0 元素的。实现代码如下,供参考。
通过代码
复制代码
总结
上述算法的时间复杂度是 O(n),空间复杂度是 O(1)
坚持算法每日一题,加油!
版权声明: 本文为 InfoQ 作者【HQ数字卡】的原创文章。
原文链接:【http://xie.infoq.cn/article/b077657042b37aeffe00779d5】。文章转载请联系作者。
评论