int minsteps(int z) {     int n=0;     int sum=0;     while(sum<z || (sum-z)%2==1)     {         n++;         sum+=n;     }     return n; } 第5题,AB距离为z,最少n步。 贪婪算法,走到z米,且步数最少,所以尽量正着走,当走到第n步时大于z,可以将之前的一步反着走来抵消超过z的部分,由于任意一步i反着走都会使总距离少2*i。所以第n步时和z的差值应该为偶数,反着走的那一步为(sum-z)/2,其中sum为第n步时的总距离。
点赞 3

相关推荐

头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
服从性笔试吗,发这么多笔,现在还在发。
蟑螂恶霸zZ:傻 x 公司,发两次笔试,两次部门匹配挂,
投递金山WPS等公司10个岗位 >
点赞 评论 收藏
分享
牛客网
牛客企业服务