news 2026/6/10 22:24:23

华为OD机试 - 最小步数 (C++ Python JAVA JS GO)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为OD机试 - 最小步数 (C++ Python JAVA JS GO)

最小步数

2025华为OD机试 - 华为OD上机考试 100分题型

华为OD机试真题目录点击查看: 华为OD机试真题题库目录|机考题库 + 算法考点详解

题目描述

求从坐标零点到坐标点n的最小步数,一次只能沿横坐标轴向左或向右移动 2 或 3。

注意:途径的坐标点可以为负数

输入描述

坐标点n,1 <= n <= 10^9

输出描述

输出从坐标零点移动到坐标点n的最小步数

用例1

输入

4

输出

2

说明

从坐标零点移动到4,最小需要两步,即右移2,再右移2

题解

思路:数学规律

  1. 本题只会存在两种情况, 对于n == 1时的情况为{-2,3},需要两步。
  2. 对于n >=2的情况,存在规律需要的步数为ceil(n /3)向上取整
  3. 明白上面规律之后,这个题就很简单了。

c++

#include<iostream> #include<vector> #include<string> #include <utility> #include <sstream> #include<algorithm> #include<cmath> #include<map> #include<cmath> using namespace std; int main() { int n ; cin >> n; // -2 3 if (n == 1) { cout << 2; } else { //cout << (int)ceil(1.0 * n / 3); cout << (n + 2) / 3; } return 0; }

JAVA

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); // -2 3 if (n == 1) { System.out.print(2); } else { // cout << (int)ceil(1.0 * n / 3); System.out.print((n + 2) / 3); } } }

Python

n=int(input())# -2 3ifn==1:print(2)else:# print(math.ceil(1.0 * n / 3))print((n+2)//3)

JavaScript

constreadline=require('readline');constrl=readline.createInterface({input:process.stdin,output:process.stdout,terminal:false});rl.on('line',line=>{letn=parseInt(line.trim());// -2 3if(n===1){console.log(2);}else{console.log(Math.floor((n+2)/3));}});

Go

packagemainimport"fmt"funcmain(){varnintfmt.Scan(&n)// -2 3ifn==1{fmt.Print(2)}else{// fmt.Print(int(math.Ceil(float64(n) / 3)))fmt.Print((n+2)/3)}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 14:08:02

Windows苹果设备连接终极解决方案:一键驱动安装全流程

Windows苹果设备连接终极解决方案&#xff1a;一键驱动安装全流程 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/gh_mir…

作者头像 李华
网站建设 2026/6/10 12:27:33

AMD Ryzen处理器深度调优神器SMUDebugTool实战指南

AMD Ryzen处理器深度调优神器SMUDebugTool实战指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitcode.com/gh_m…

作者头像 李华
网站建设 2026/6/9 21:36:02

心电图AI分类终极指南:94.5%准确率的深度学习解决方案

心电图AI分类终极指南&#xff1a;94.5%准确率的深度学习解决方案 【免费下载链接】ecg-classification Code for training and test machine learning classifiers on MIT-BIH Arrhyhtmia database 项目地址: https://gitcode.com/gh_mirrors/ec/ecg-classification 心…

作者头像 李华
网站建设 2026/6/10 14:10:28

暗黑3智能助手:解放双手的终极自动化解决方案

暗黑3智能助手&#xff1a;解放双手的终极自动化解决方案 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面&#xff0c;可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 还在为重复的技能按键感到手指酸痛吗&#…

作者头像 李华
网站建设 2026/6/10 16:41:12

Jimp技术实战:游戏开发中的图像处理解决方案

Jimp技术实战&#xff1a;游戏开发中的图像处理解决方案 【免费下载链接】jimp 项目地址: https://gitcode.com/gh_mirrors/jim/jimp 适用人群 独立游戏开发者&#xff0c;需要自动化处理精灵图资源前端工程师&#xff0c;希望用JavaScript实现图像处理功能技术美术&a…

作者头像 李华
网站建设 2026/6/9 16:04:22

vue基于Spring Boot的律师服务预约系统应用和研究_vcbnwki9

目录具体实现截图项目介绍论文大纲核心代码部分展示项目运行指导结论源码获取详细视频演示 &#xff1a;文章底部获取博主联系方式&#xff01;同行可合作具体实现截图 本系统&#xff08;程序源码数据库调试部署讲解&#xff09;同时还支持java、ThinkPHP、Node.js、Spring B…

作者头像 李华