news 2026/4/15 9:15:21

华为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/4/15 3:34:57

Draw.io Mermaid插件完全指南:用代码绘制专业图表

Draw.io Mermaid插件完全指南&#xff1a;用代码绘制专业图表 【免费下载链接】drawio_mermaid_plugin Mermaid plugin for drawio desktop 项目地址: https://gitcode.com/gh_mirrors/dr/drawio_mermaid_plugin 你是否曾经因为手动绘制复杂流程图而耗费数小时&#xff…

作者头像 李华
网站建设 2026/4/9 3:46:20

Draw.io Mermaid插件:用代码思维重构你的图表创作流程

Draw.io Mermaid插件&#xff1a;用代码思维重构你的图表创作流程 【免费下载链接】drawio_mermaid_plugin Mermaid plugin for drawio desktop 项目地址: https://gitcode.com/gh_mirrors/dr/drawio_mermaid_plugin 还在为绘制复杂图表而头疼吗&#xff1f;还在手动拖拽…

作者头像 李华
网站建设 2026/4/13 12:07:44

Screenbox终极指南:简单上手的全能媒体播放器

还在为找不到好用的媒体播放器而烦恼吗&#xff1f;Screenbox媒体播放器可能是你一直在寻找的答案。这款基于LibVLC的通用Windows平台播放器&#xff0c;以其简洁的界面和强大的功能&#xff0c;正在重新定义你的多媒体体验。 【免费下载链接】Screenbox LibVLC-based media pl…

作者头像 李华
网站建设 2026/4/11 0:39:17

Quill图片调整终极指南:富文本编辑器图片处理快速上手

Quill图片调整终极指南&#xff1a;富文本编辑器图片处理快速上手 【免费下载链接】quill-image-resize-module A module for Quill rich text editor to allow images to be resized. 项目地址: https://gitcode.com/gh_mirrors/qui/quill-image-resize-module 还在为富…

作者头像 李华
网站建设 2026/4/9 8:06:24

Mac百度网盘限速终结指南:3步解锁极速下载新体验

Mac百度网盘限速终结指南&#xff1a;3步解锁极速下载新体验 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘在macOS上的龟速下载而苦恼…

作者头像 李华