我是靠谱客的博主 光亮魔镜,最近开发中收集的这篇文章主要介绍leetcode(2)495——提莫攻击(C++),运算符优先级(+=,?,+,-)前言程序疑惑,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 前言
  • 程序
    • 分解
  • 疑惑

前言

程序,边刷边总结边学语言。
题目

程序

	int findPoisonedDuration(vector<int> & timeSeries, int duration){
int begin = timeSeries[0], result = 0;
for (int v : timeSeries){
result += begin + duration >= v ? v - begin : duration;
begin = v;
}
return result+duration; // 处理最后一个中毒周期
}

分解

整体思路:
首先,我们记某个提莫设计开始的时刻为begin

如果这个开始的时刻begin+中毒的时间duration大于下次提莫投毒的时间v:
      那么中毒时间res就加上从 begin开始到v的时间 (因为提莫的毒不能叠加,从begin开始只能中毒到v,从v开始又是一剂新毒液。。。);

如果这个开始的时刻begin+中毒的时间duration小于下次提莫投毒的时间v:
      那么中毒时间res就加上中毒时间duration

疑惑

result += begin + duration >= v ? v - begin : duration
这个结构一开始困惑到我了。
查了查C++中的运算符的优先级:
优先级:+, >=, ?:, +=
所以这里先算 begin + duration ;再判断begin + duration >= v;再运算? v - begin : duration;如果>=号成立,那么result+=v-begin,否则result+=duration。

最后

以上就是光亮魔镜为你收集整理的leetcode(2)495——提莫攻击(C++),运算符优先级(+=,?,+,-)前言程序疑惑的全部内容,希望文章能够帮你解决leetcode(2)495——提莫攻击(C++),运算符优先级(+=,?,+,-)前言程序疑惑所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部