leetcode(2)495——提莫攻击(C++),运算符优先级(+=,?,+,-)
生活随笔
收集整理的這篇文章主要介紹了
leetcode(2)495——提莫攻击(C++),运算符优先级(+=,?,+,-)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 前言
- 程序
- 分解
- 疑惑
前言
程序,邊刷邊總結(jié)邊學(xué)語言。
題目
程序
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; // 處理最后一個中毒周期}分解
整體思路:
首先,我們記某個提莫設(shè)計開始的時刻為begin
如果這個開始的時刻begin+中毒的時間duration大于下次提莫投毒的時間v:
??????那么中毒時間res就加上從 begin開始到v的時間 (因為提莫的毒不能疊加,從begin開始只能中毒到v,從v開始又是一劑新毒液。。。);
如果這個開始的時刻begin+中毒的時間duration小于下次提莫投毒的時間v:
??????那么中毒時間res就加上中毒時間duration
疑惑
result += begin + duration >= v ? v - begin : duration
這個結(jié)構(gòu)一開始困惑到我了。
查了查C++中的運(yùn)算符的優(yōu)先級:
優(yōu)先級:+, >=, ?:, +=
所以這里先算 begin + duration ;再判斷begin + duration >= v;再運(yùn)算? v - begin : duration;如果>=號成立,那么result+=v-begin,否則result+=duration。
總結(jié)
以上是生活随笔為你收集整理的leetcode(2)495——提莫攻击(C++),运算符优先级(+=,?,+,-)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轨迹规划概念总结——Dubins曲线
- 下一篇: leetcode(3)——414. 第三