华为OD机试 2023B卷题库疯狂收录中,刷题点这里
本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。
求从坐标零点到坐标点n的最小步数,一次只能沿横坐标向左或向右移动 2 或 3。
注意:途径的坐标点可以为负数。
坐标点n。
输出从坐标零点移动到坐标点n的最小步数。
先试算一下,找找规律
1 = -2 + 3
2 = 2
3 = 3
4 = 2 + 2
5 = 3 + 2
6 = 3 + 3
7 = 3 + 2 + 2
8 = 3 + 3 + 2
9 = 3 + 3 + 3
10 = 3 + 3 + 2 + 2
11 = 3 + 3 + 3 + 2
12 = 3 + 3 + 3 + 3
从4开始就有规律了,
4 - 6 是2
7 - 9 是3
10 - 12 是4
就是看有几个3,用的3越多,步数越小。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
if(n == 1){
System.out.println(2);
}else if(n == 2){
System.out.println(1);
}else{
if(n%3==0){
System.out.println(n/3);
}else {
System.out.println(n/3+1);
}
}
}
13
5
下一篇:华为OD机试真题 Java 实现【路灯照明问题】【2022Q4 100分】,感谢fly晨发现这个问题,并提供更优质的算法
本文收录于,华为OD机试(JAVA)真题(A卷+B卷)
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,订阅后,专栏内的文章都可看,可加入华为OD刷题群(私信即可),发现新题目,随时更新,全天CSDN在线答疑。