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,数组之和为s
  • p+n=sp + n = sp+n=s
  • 我们走的有效路程为 p−n=targetp - n = targetp−n=target
  • 两式相减 s−target=2∗ns - target = 2 * ns−target=2∗n
  • 可见 s−targets - targets−target 一定为偶数,且 s−target=2∗n>=0s - target = 2 * n >= 0s−target=2∗n>=0
  • 由等差数列公式有 s=i∗(i+1)/2s = i *(i + 1) /2s=i∗(i+1)/2
  • 求最小的 iii, 使得 i∗(i+1)/2−targeti *(i + 1) /2 - targeti∗(i+1)/2−target 为 偶数 且 >=0
class Solution {public:int reachNumber(int target) {int i = 1;target = abs(target);int x = (i*i+i)/2-target;while(x < 0 || x%2 == 1){++i;x = (i*i+i)/2-target;}return i;}
};

LeetCode 754. 到达终点数字(数学推理)相关推荐

  1. Java实现 LeetCode 754 到达终点数字(暴力+反向)

    754. 到达终点数字 在一根无限长的数轴上,你站在0的位置.终点在target的位置. 每次你可以选择向左或向右移动.第 n 次移动(从 1 开始),可以走 n 步. 返回到达终点需要的最小移动次数 ...

  2. leetcode.cn 2022年11月4日 打卡题 754. 到达终点数字【一元二次方程解法,时间复杂度O(1)】

    leetcode 2022年11月4日 打卡题 754. 到达终点数字 写在前面   首先感谢 @子不语 大佬发布的一元二次方程代码实现的启发.题解链接:子不语-754. 到达终点数字   本文侧重梳 ...

  3. 领扣-754 到达终点数字 Reach a Number MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  4. 754. 到达终点数字

    在一根无限长的数轴上,你站在0的位置.终点在target的位置. 每次你可以选择向左或向右移动.第 n 次移动(从 1 开始),可以走 n 步. 返回到达终点需要的最小移动次数. 示例 1: 输入: ...

  5. 力扣 754. 到达终点数字

    题目: 在一根无限长的数轴上,你站在0的位置.终点在target的位置. 你可以做一些数量的移动 numMoves : 每次你可以选择向左或向右移动. 第 i 次移动(从  i == 1 开始,到 i ...

  6. 力扣每日一题 到达终点数字

    Day 37 Date: November 4, 2022 8:39 PM LinkedIn: https://leetcode.cn/problems/reach-a-number/descript ...

  7. Java实现 LeetCode 780 到达终点(逻辑题)

    780. 到达终点 从点 (x, y) 可以转换到 (x, x+y) 或者 (x+y, y). 给定一个起点 (sx, sy) 和一个终点 (tx, ty),如果通过一系列的转换可以从起点到达终点,则 ...

  8. PLM是做题家吗?一文速览预训练语言模型数学推理能力新进展

    ©作者 | 张北辰 单位 | 中国人民大学高瓴人工智能学院 数学推理能力是人类智能的一项非常重要又富有挑战性的能力.尽管在各类自然语言相关的理解和生成任务等中取得了良好的效果,预训练语言模型可以准确地 ...

  9. 论文浅尝 | NumNet: 一种带有数学推理的机器阅读理解模型

    论文笔记整理:吴林娟. 来源:EMNLP2019 论文链接:https://arxiv.org/pdf/1910.06701.pdf 开放源码:https://github.com/ranqiu92/ ...

最新文章

  1. iOS开发UIlabel篇:iOS 10 3 Label设置的中划线突然失效了
  2. JAVA实现旋转数组的最小数字问题(《剑指offer》)
  3. ssh长时间不操作便断开_不懂Excel文件恢复方法?只要跟着这样操作,便可以光速恢复文件...
  4. type python3_详解Python3中的Sequence type的使用
  5. [洛谷P1822]魔法指纹
  6. 架构思维其实就那么回事
  7. Floyed(floyd)算法详解
  8. 如何查看cudnn当前版本_当前版本的花木兰,如何成为边路战神?
  9. 什么是不简单?把每一件简单的事做好就是不简单;什么是不平凡?能把每一件平凡的事做好就是不平凡。
  10. C语言 低通滤波器\带通滤波器\高通滤波器
  11. Go:go mod vendor 使用
  12. Html 实现角标效果
  13. 有关于毕业论文提纲范文
  14. mongodb journal文件格式
  15. 记录一次华为特战队的机试题
  16. windows系统中使用cmd中type命令查看文件内容
  17. HTML实现的“圣诞树”
  18. duilib 尝试解决透明窗体WebBroswer控件无法显示的问题
  19. A - Wizards' Duel
  20. 如何在不同的 ViewController 之间传递信息

热门文章

  1. oracle重做日志教程,Oracle教程:重做日志文件基本维护
  2. python day15
  3. JZOJ 5776. 【NOIP2008模拟】小x游世界树
  4. flex item的width VS flex-basis
  5. 【长沙集训】2017.10.10
  6. CODVES 5929 亲戚
  7. 你不知道的 字符集和编码(编码字符集与字符集编码)
  8. 一个使用指针的简单程序
  9. 基于FPGA的图像处理(一)--System Generator介绍
  10. sizeof你真的弄明白了吗?