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. 【python下使用OpenCV实现计算机视觉读书笔记3】读写视频文件

    代码例如以下: import cv2 videoCapture = cv2.VideoCapture('car.avi') fps = videoCapture.get(cv2.cv.CV_CAP_P ...

  2. mysql四种修改密码的方式

    方法1: 用SET PASSWORD命令 首先登录MySQL. 格式:mysql> set password for 用户名@localhost = password('新密码'); 例子:my ...

  3. 使用Apriori进行关联分析(二)

    书接上文(使用Apriori进行关联分析(一)),介绍如何挖掘关联规则. 发现关联规则 我们的目标是通过频繁项集挖掘到隐藏的关联规则. 所谓关联规则,指通过某个元素集推导出另一个元素集.比如有一个频繁 ...

  4. tomcat源码阅读之SingleThreadModel

    一.接口简介: 实现了SingleThreadModel接口的servlet类只能保证在同一时刻,只有一个线程执行该servlet实例的service方法,在tomcat实现中会创建多个servlet ...

  5. 什么是Base64算法?什么情况下用Base64算法?

    base64 编码的本质:将 8bit 二进制数转化为 6bit 的可打印字符. Base64编码用于需要将二进制数据转为文本数据进行储存和传输的场景. Javascript内部的字符串,都以utf- ...

  6. php生成迷宫和迷宫寻址算法实例

    较之前的终于有所改善.生成迷宫的算法和寻址算法其实是一样.只是一个用了遍历一个用了递归.参考了网上的Mike Gold的算法. <?php //zairwolf z@cot8.com heade ...

  7. linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符) (转帖)

    http://wenku.baidu.com/link?url=2RsCun4Mum1SLbh-LHYZpTmGFMiEukrWAoJGKGpkiHKHeafJcx2y-HVttNMb1BqJpNdw ...

  8. CentOS7.1下生产环境Keepalived+Nginx配置

    CentOS7.1下生产环境Keepalived+Nginx配置 [日期:2015-07-20] 来源:Linux社区  作者:soulful [字体:大 中 小]   注:下文涉及到配置的,如无特别 ...

  9. Openfiler使用说明

    Openfiler使用说明 http://www.cnblogs.com/zb9222/p/6118074.html 一. Openfiler简介 Openfiler 能把标准x86/64架构的系统变 ...

  10. 【Spring学习笔记-2】Myeclipse下第一个Spring程序-通过ClassPathXmlApplicationContext加载配置文件

    *.hl_mark_KMSmartTagPinkImg{background-color:#ffaaff;}*.hl_mark_KMSmartTagBlueImg{background-color:# ...