执行结果:
通过
执行用时:0 ms, 在所有 C++ 提交中击败了100.00% 的用户
内存消耗:5.7 MB, 在所有 C++ 提交中击败了72.14% 的用户
通过测试用例:73 / 73
思路:将target视为正数,将sum加到大于target,若sum-target为偶数,则可得出step,否则还需继续往后加,最终得出step。
代码:
class Solution {
public:
int reachNumber(int target) {
target=abs(target);
int step=0;
int num=0;
int sum=0;
while(sum<target||(sum-target)%2!=0)
{
sum+=++num;
step++;
}
return step;
}
};