leetcode(2)495——提莫攻击(C++),运算符优先级(+=,?,+,-)
生活随笔
收集整理的這篇文章主要介紹了
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++),运算符优先级(+=,?,+,-)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轨迹规划概念总结——Dubins曲线
- 下一篇: s3c2440移植MQTT