class Solution {
public:
int reachNumber(int target) {
// 理解这题的意思 这题就好做了
// 分析 首先考虑一种比较极端的情况 即一直向正方向移动n步 ,刚好达到target
// 那么target的值就等于前n步的和 ,也就是1+2+.....+n = n*(n+1)/2
// 如果n(n+1)/2>target ,那么所需要的步数肯定要比n多,而且肯定有向左走的步子,也就是求和的时候肯定是有负数的,至于哪个或者哪些个为负,下面开始讨论
//1,n(n+1)/2 - target 为偶数时,所以要想到达 target 需要向左走 n(n+1)/2 - target 偶数步 ,
// 就是把前n项中第( n(n+1)/2 - target)/2 步变为负号就行了
//当n(n+1)/2 - target 为奇数时,就要分类讨论了,若n为奇数n+1就是偶数 无论向左还是向右 都不会产生一个奇数的差来因此需要再走一步故要n+2步
//若n为偶数,n+1则为奇数,可以产生一个奇数的差,故要n+1步
if(target<) return reachNumber(-target) ;
int i= ;
while(i*(i+) < *target )
{
i++;
} if(i*(i+)/ == target) return i ;
else
{
if((i*(i+)/-target)% == ) return i;
else
{
if(i%==) return i+ ;
else return i+ ;
}
} }
};

leetcode754的更多相关文章

  1. [Swift]LeetCode754. 到达终点数字 | Reach a Number

    You are standing at position 0 on an infinite number line. There is a goal at position target. On ea ...

随机推荐

  1. CTF竞赛(简介)

    一.解体模式(Jeopardy) 可通过互联网或现场网络参与,解决网络安全技术挑战题目,并以分值和时间排名. 题目主要包括:逆向,漏洞挖掘与利用,web渗透,密码,取证,隐写,安全编程 二.攻防模式( ...

  2. Linux下软件包安装

    编译dbus下载地址 :http://dbus.freedesktop.org/releases/dbus/tar zxvf dbus-1.10.0echo ac_cv_have_abstract_s ...

  3. restheart 基本使用

    restheart 是一个方便基于mongodb的restapi 开发框架 参考项目 https://github.com/rongfengliang/restheart-docker-compose ...

  4. ASP.NET MVC Area 的使用

    MVC提供Area机制,在同一个项目之内就能够切割出不同的ASP.NET MVC网站. 插入:首先在相同的位置,比如说同一个文件夹(如:Controllers)是不能创建俩个相同名称的文件(如:Hom ...

  5. FineUI利用JS取控件的值

    用ExtJS的获取方式应该就可以了把...我是直接用Ext.getCmp("txt_cusname").getValue;不过txt_cusname这个控件如果是runat=&qu ...

  6. Json之语法

    JSON 文本格式在语法上与创建 JavaScript 对象的代码相同. 由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 Ja ...

  7. 【Reporting Services 报表开发】— 总结

    一.环境搭建:安装SQL Server 2008 R2或SQL Server 2012过程略,这里我安装的是SQL Server 2012. 二.新建报表项目: 1.打开Visual Studio 2 ...

  8. 大数据学习资料之SQL与NOSQL数据库

    这几年的大数据热潮带动了一激活了一大批hadoop学习爱好者.有自学hadoop的,有报名培训班学习的.所有接触过hadoop的人都知道,单独搭建hadoop里每个组建都需要运行环境.修改配置文件测试 ...

  9. 虚拟机设置成桥接模式x86_openwrt也可以上网

    一.虚拟机桥接设置 1. 2.选择 虚拟机 >>设置 三.ip设置,要在同一网段,能够分配到路由的ip地址 1.主机ip 2.虚拟机中x86_openwrt ip 四.openwrt设置 ...

  10. 从c#数组求和说起

    c#是一种玩具语言 为什么这么说, 举个简单的例子,提问:对数组[1,2,3]求和有几种方法? 我能说出来的,四种.说出来,不是上网查出来. for,foreach,sum,while. for好像大 ...