力扣 754. 到达终点数字
题目:
在一根无限长的数轴上,你站在0的位置。终点在target的位置。
你可以做一些数量的移动 numMoves :
每次你可以选择向左或向右移动。
第 i 次移动(从 i == 1 开始,到 i == numMoves ),在选择的方向上走 i 步。
给定整数 target ,返回 到达目标所需的 最小 移动次数(即最小 numMoves ) 。
示例 1:
输入: target = 2
输出: 3
解释:
第一次移动,从 0 到 1 。
第二次移动,从 1 到 -1 。
第三次移动,从 -1 到 2 。
示例 2:
输入: target = 3
输出: 2
解释:
第一次移动,从 0 到 1 。
第二次移动,从 1 到 3 。
提示:
-109 <= target <= 109
target != 0
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/reach-a-number
我的想法:这个问题等价于将1-i之间的数字添加正负号,使得其加和为target(可以不考虑正负)。
设所有添加正号的整数和为p,添加负号的整数的和为m,有
p-m=target,
p+m = k*(k+1)/2=s
可以得到:s-target=2n(即必为2的倍数)
则题目就转化为了求最小的i,满足i*(i+1)/2 - target>=0且为偶数
代码:
class Solution
{ public int reachNumber(int target) {
if(target==0) return 0;
if(target<0) target=-target;
for(long i=1;i<=100000;i++) {
long num=i*(i+1)/2;
if(num>=target && (num-target)%2==0)
return (int)i;
} return 0;
}
}
力扣 754. 到达终点数字相关推荐
- 领扣-754 到达终点数字 Reach a Number MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Java实现 LeetCode 754 到达终点数字(暴力+反向)
754. 到达终点数字 在一根无限长的数轴上,你站在0的位置.终点在target的位置. 每次你可以选择向左或向右移动.第 n 次移动(从 1 开始),可以走 n 步. 返回到达终点需要的最小移动次数 ...
- leetcode.cn 2022年11月4日 打卡题 754. 到达终点数字【一元二次方程解法,时间复杂度O(1)】
leetcode 2022年11月4日 打卡题 754. 到达终点数字 写在前面 首先感谢 @子不语 大佬发布的一元二次方程代码实现的启发.题解链接:子不语-754. 到达终点数字 本文侧重梳 ...
- LeetCode 754. 到达终点数字(数学推理)
1. 题目 在一根无限长的数轴上,你站在0的位置.终点在target的位置. 每次你可以选择向左或向右移动.第 n 次移动(从 1 开始),走 n 步. 返回到达终点需要的最小移动次数. 示例 1: ...
- 754. 到达终点数字
在一根无限长的数轴上,你站在0的位置.终点在target的位置. 每次你可以选择向左或向右移动.第 n 次移动(从 1 开始),可以走 n 步. 返回到达终点需要的最小移动次数. 示例 1: 输入: ...
- 力扣每日一题 到达终点数字
Day 37 Date: November 4, 2022 8:39 PM LinkedIn: https://leetcode.cn/problems/reach-a-number/descript ...
- 力扣 有多少小于当前数字的数字
力扣 有多少小于当前数字的数字 题目描述 给你一个数组 nums,对于其中每个元素 nums[i],请你统计数组中比它小的所有数字的数目. 换而言之,对于每个 nums[i] 你必须计算出有效的 j ...
- [Golang]力扣Leetcode - 374. 猜数字大小(二分查找)
[Golang]力扣Leetcode - 374. 猜数字大小(二分查找) 题目:猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字. 请你猜选出的是哪个数字. 如果你猜错了,我 ...
- 12.20工作学习记录 力扣 罗马文转数字
每日一题:罗马文转数字 定义两个指针 不断后移 每一次让前一个指针的值累加为sum 最后返回sum 力扣https://leetcode.cn/problems/roman-to-integer/ ...
最新文章
- Java基础知识回顾
- git config设置用户名_一个神奇的工具,实现多人协作,git常用命令详解
- 管理Exchange 2003客户端访问
- 第123天:移动web开发中的常见问题
- Option,Some,None
- 《.NET应用架构设计:原则、模式与实践》新书博客-2.1.1-设计原则简述
- 自动生成数据库字典工具
- 【181214】VC++动画翻页效果的电话簿程序源代码
- 【视频插帧】XVFI: eXtreme Video Frame Interpolation
- java setproperty 未生效_Java System类setProperty()方法及示例
- IAP商品修改和数据获取,一文带你全部搞懂
- 樱花泪计算机音乐,樱花泪(纯音乐)
- Adobe Acrobat PDF修改注释作者
- 使用tesseract识别图片中的文字
- k宝无法连接计算机,农行K宝无法识别
- windows异常处理
- XSS漏洞原理及攻击
- 上周丢钥匙事件的反思感悟
- IP大混战,春节档你最看好谁?
- poi导出Excel文件下载数据
热门文章
- ArcSDE vs. Oracle Spatial 10
- java实现花瓣飘落效果
- 如何去除Word中的向下的箭头
- Android Binder 机制
- 三星s10刷linux,刷机神器TWRP布支持三星Galaxy S10+ 刷机不怕砖
- 微型计算机温度控制系统设计,微机原理及其应用微型计算机温度控制系统设计课程设计报告;...
- hdu5775 树状数组
- 【源码解读】liquibase之ServiceLocator
- ImportError: cannot import name ‘optim‘ from ‘flax‘
- 图片如何无缝拼接?这四个功能让你自由拼图,别错过