关注
import java.util.Scanner;
public class Main {
/**
* 蚂蚱跳跃次数
*
* @param desPoint
* @return
*/
public static int jumpCount(int desPoint) {
int currentJumpPosition = 0;// 当前跳跃的位置
int jumpStep = 0;// 跳跃步进
int jumpCount = 0;// 跳跃次数
while (currentJumpPosition != desPoint) {// 循环,往一个方向跳跃
if (desPoint > 0)
jumpStep += 1; // 正方向
else {
jumpStep += -1;// 反方向
}
jumpCount++;
currentJumpPosition += jumpStep;// 加上步长
// 超过了
if ((desPoint > 0 && currentJumpPosition >
desPoint)
|| (currentJumpPosition < desPoint && desPoint
< 0)) {
jumpCount--;// 减一
currentJumpPosition -= jumpStep;// 减去步进
jumpStep -= 1;// 减一
boolean isForward = false;// 往后
if (desPoint < 0) {
isForward = true; // 往前
}
while (currentJumpPosition != desPoint) {// 来回跳跃,直到达到终点
jumpCount++;
if (isForward) {// 往前跳
if (jumpStep > 0) {
jumpStep = jumpStep + 1;
} else {
jumpStep = -jumpStep + 1;
}
} else { // 往后跳
if (jumpStep > 0) {
jumpStep = -jumpStep - 1;
} else {
jumpStep = jumpStep - 1;
}
}
isForward = !isForward;// 取反
currentJumpPosition += jumpStep;// 加上步长
}
}
}
return jumpCount;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int desPoint = scanner.nextInt();// 目标位置
System.out.println(jumpCount(desPoint));
}
}
}
AC 17%
查看原帖
点赞 2
牛客热帖
正在热议
# 25届秋招总结 #
272998次浏览 2317人参与
# 如果实习可以转正,你会不会放弃秋招 #
205449次浏览 2799人参与
# 北方华创开奖 #
24131次浏览 261人参与
# 地方国企笔面经互助 #
3073次浏览 7人参与
# 学历or实习经历,哪个更重要 #
45959次浏览 353人参与
# 选完offer后,你后悔学本专业吗 #
15517次浏览 114人参与
# 如何一边实习一边秋招 #
988362次浏览 12618人参与
# 数据人的面试交流地 #
435906次浏览 7810人参与
# 0offer是寒冬太冷还是我太菜 #
890900次浏览 7950人参与
# 软开人,秋招你打算投哪些公司呢 #
41001次浏览 529人参与
# 你觉得专业和学校哪个对薪资影响最大 #
28678次浏览 215人参与
# 查收我的offer竞争力报告 #
20701次浏览 261人参与
# 你最想要的公司福利是? #
42874次浏览 155人参与
# 来聊聊机械薪资天花板是哪家 #
66970次浏览 452人参与
# 应届生被毁约被毁意向了怎么办 #
28666次浏览 244人参与
# 一觉醒来,我觉醒了超级打工人系统 #
3482次浏览 36人参与
# 当你面对裁员会如何? #
26345次浏览 153人参与
# 没有实习经历,还有机会进大厂吗 #
808156次浏览 13868人参与
# 面试体验感最好的是哪家? #
83985次浏览 820人参与
# 机械应届生薪资要多少才合适? #
12604次浏览 61人参与
# 硬件打工人的必备素养 #
9633次浏览 69人参与