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

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐