754 到達終點數字(簡單題)

2021-09-25 23:54:32 字數 822 閱讀 5573

在一根無限長的數軸上,你站在0的位置。終點在target的位置。

每次你可以選擇向左或向右移動。第 n 次移動(從 1 開始),可以走 n 步。

返回到達終點需要的最小移動次數。

示例 1:

輸入: target = 3

輸出: 2

解釋:第一次移動,從 0 到 1 。

第二次移動,從 1 到 3 。

示例 2:

輸入: target = 2

輸出: 3

解釋:第一次移動,從 0 到 1 。

第二次移動,從 1 到 -1 。

第三次移動,從 -1 到 2 。

注意:

target是在[-10^9, 10^9]範圍中的非零整數。

思路概述:

給點給乙個target,不管值是正值還是負值,需要的步數是同樣的,所以我們統一考慮為正值,統一取絕對值。

向右走是加,向左走是減,那我們可以先不停的向右走,那麼走的格數就是1+2+3+… 當無法得到給定的target值時,代表我們其中是有幾步是需要向左走的,那麼向左走一步,會導致結果減小2對應的步數。比如第二格我們向左,本來是加2,現在是減2,一來一去少了2*2=4格。

所以我們可以不斷累加,直到遇到sum值-target是偶數的情況,當前走的步數就是結果

解法:

class

solution

return i-1;

//因為在判斷結果前都要讓i+1,所以這裡返回的是i-1

}}

leetcode 754 到達終點數字

在一根無限長的數軸上,你站在0的位置。終點在target的位置。每次你可以選擇向左或向右移動。第 n 次移動 從 1 開始 可以走 n 步。返回到達終點需要的最小移動次數。示例 1 輸入 target 3 輸出 2 解釋 第一次移動,從 0 到 1 第二次移動,從 1 到 3 示例 2 輸入 tar...

LeetCode754 到達終點數字

在一根無限長的數軸上,你站在0的位置。終點在target的位置。每次你可以選擇向左或向右移動。第 n 次移動 從 1 開始 可以走 n 步。返回到達終點需要的最小移動次數。示例 1 輸入 target 3 輸出 2 解釋 第一次移動,從 0 到 1 第二次移動,從 1 到 3 示例 2 輸入 tar...

leetcode 754 到達終點數字

題目 在一根無限長的數軸上,你站在0的位置。終點在target的位置。每次你可以選擇向左或向右移動。第 n 次移動 從 1 開始 可以走 n 步。返回到達終點需要的最小移動次數 class solution return i 1 target的正負與答案無關,故取正,假設前n步均向右走,如果恰好得到...