【LeetCode2960】统计已测试设备(C++)

 题目传送门:2960. 统计已测试设备 - 力扣(LeetCode)

题解

题目描述讲得很复杂,实际上是给定一个数列,从前向后遍历,只要当前数字大于零,就会让其后的所有数字都减1,统计遍历过程中有多少数大于零。

只要读懂题目意思,按要求来完成就好。用ans记录遍历过程中大于零数字的个数,同时ans也代表着后面的数字要被减几次。例如,在遍历到当前位置是ans为3,那么说明在这个数之前有3个大于零的数,那么当前数字应该被减3次,所以我们看当前数字减ans的值是否大于0来判断。

参考代码

class Solution {
public:
    int countTestedDevices(vector<int>& batteryPercentages) {
        int ans=0;
        for(int i=0;i<batteryPercentages.size();i++)
        {
            if(batteryPercentages[i]-ans>0)
            {
                ans++;
            }
        }
        return ans;
    }
};

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值