*[topcoder]JumpFurther

http://community.topcoder.com/stat?c=problem_statement&pm=12300&rd=15699

题意:有一个无限长的阶梯,i从1到N,每次跳i步或不跳;有一个阶梯是坏的,不能跳,问最多跳多远。

分析:贪心的跳,当跳到坏阶梯时,就躲开,怎么躲,就是第一步不跳。那么此时和坏台阶差一步,只有i为0时下一步才为1,但i从0开始,所以不会发生。

public class JumpFurther
{
    public int furthest(int N, int badStep)
    {
        int step = 0;
        for (int i = 1; i <= N; i++)
        {
            step += i;
            if (step == badStep)
            {
                step--;
            }
        }
        return step;
    }
}

  

原文地址:https://www.cnblogs.com/lautsie/p/3490379.html