网站单页是什么意思,汕头网站建设制作报价,手机设计软件免费,南海建设网站1. 题目
在一根无限长的数轴上#xff0c;你站在0的位置。终点在target的位置。
每次你可以选择向左或向右移动。第 n 次移动#xff08;从 1 开始#xff09;#xff0c;走 n 步。
返回到达终点需要的最小移动次数。
示例 1:
输入: target 3
输出: 2
解释:
第一次移动…1. 题目
在一根无限长的数轴上你站在0的位置。终点在target的位置。
每次你可以选择向左或向右移动。第 n 次移动从 1 开始走 n 步。
返回到达终点需要的最小移动次数。
示例 1:
输入: target 3
输出: 2
解释:
第一次移动从 0 到 1 。
第二次移动从 1 到 3 。示例 2:
输入: target 2
输出: 3
解释:
第一次移动从 0 到 1 。
第二次移动从 1 到 -1 。
第三次移动从 -1 到 2 。来源力扣LeetCode 链接https://leetcode-cn.com/problems/reach-a-number 著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。
2. 解题
正号数字之和为p, 负号数字之和为n数组之和为spnsp n spns我们走的有效路程为 p−ntargetp - n targetp−ntarget两式相减 s−target2∗ns - target 2 * ns−target2∗n可见 s−targets - targets−target 一定为偶数且 s−target2∗n0s - target 2 * n 0s−target2∗n0由等差数列公式有 si∗(i1)/2s i *(i 1) /2si∗(i1)/2求最小的 iii 使得 i∗(i1)/2−targeti *(i 1) /2 - targeti∗(i1)/2−target 为 偶数 且 0
class Solution {
public:int reachNumber(int target) {int i 1;target abs(target);int x (i*ii)/2-target;while(x 0 || x%2 1){i;x (i*ii)/2-target;}return i;}
};