力扣每日一题 5/31 495.提莫攻击 (数组的遍历)

这段代码展示了如何计算中毒时间序列的总时长。在不同时间间隔中,如果当前中毒时间加上固定持续时间大于下一个时间点,则取两时间点之差;否则,加上固定持续时间。这个过程在三种不同的编程语言(C++, Java, JavaScript)中进行了实现。
摘要由CSDN通过智能技术生成

在这里插入图片描述

int findPoisonedDuration(int* timeSeries, int timeSeriesSize, int duration)
{
	int i;
	int len = 0;
	for(i = 0; i < timeSeriesSize - 1; i++)
	{
		if(timeSeries[i] + duration > timeSeries[i + 1])
		{
			len += timeSeries[i + 1] - timeSeries[i];
		}
		else 
		{
			len += duration;
		}
	}
    if(timeSeriesSize > 0)
    {
        len += duration;
    }
    return len;
 }
class Solution {
    public int findPoisonedDuration(int[] timeSeries, int duration) {
        int len = timeSeries.length;
        if(len == 0) return 0;

        int total = 0;
        for(int i = 0; i < len -1; i++)
        {
            total += Math.min(timeSeries[i + 1] - timeSeries[i], duration);
        }
        
        return total += duration;
    }
}
var findPoisonedDuration = function (timeSeries, duration)
{
	if(timeSeries.length == 0)
	{
		return 0;
	}
	let len = 0;
	for(let i = 0; i < timeSeries.length - 1; i++)
	{
		if(timeSeries[i + 1] - timeSeries[i] < duration)
		{
			len += timeSeries[i + 1] - timeSeries[i];
		}
		else
		{
			len += duration;
		}
	}
	
	return len + duration;
 } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值