华为OD机试真题——出租车计费/靠谱的车 (2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

在这里插入图片描述

2025 A卷 100分 题型

本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式;
并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析;
本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分享》

华为OD机试真题《出租车计费/靠谱的车 》:


文章快捷目录

题目描述及说明

Java

python

JavaScript

C++

C

GO


题目名称:出租车计费/靠谱的车


知识点:进制转换(9进制映射)、字符串处理
时间限制:1秒
空间限制:256MB
语言限制:不限


题目描述

程序员小明打了一辆出租车去上班。出于职业敏感,他注意到这辆出租车的计费表有点问题,总是偏大。出租车司机解释说他不喜欢数字 4,所以改装了计费表,任何数字位置遇到数字4就直接跳过,其余功能正常。例如:

  1. 23再多一块钱就变为25(跳过24);
  2. 39再多一块钱变为50(跳过40-49);
  3. 399再多一块钱变为500(跳过400-499)。
    小明需要根据计费表的表面读数 N,返回实际产生的费用。
输入描述

一行数字 N,表示里程表的读数(1 ≤ N ≤ 888,888,888)。

输出描述

一个数字,表示实际费用。

示例
  • 输入:5 → 输出:4(跳过4)
  • 输入:17 → 输出:15(跳过4、14)
  • 输入:100 → 输出:81(跳过4、14、24、…、94)

Java

问题分析

题目要求根据改装后的出租车计费表读数 N,计算出实际费用。计费表跳过了所有包含数字 4 的数值,例如 4、14、24、40-49 等。我们需要将 N 转换为实际费用,即排除所有含 4 的数值后的顺序位置。


解题思路

  1. 进制转换思想:将计费表读数 N 视为一个“伪九进制”数。每个数字位的有效范围是 0-8,其中原数字若大于 4 则需要减 1(因为跳过了数字 4)。
  2. 逐位处理:遍历 N 的每一位数字,按规则调整后,将整个数视为九进制转换为十进制,得到实际费用。

代码实现

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);String n = scanner.nextLine().trim(); // 读取输入并去除首尾空格long result = 0; // 存储实际费用的结果// 遍历输入字符串的每一位字符for (int i = 0; i < n.length(); i++) {char c = n.charAt(i); // 当前位的字符int digit = c - '0'; // 转换为数字// 如果当前位数字大于4,则减1(跳过数字4)if (digit > 4) {digit--;}// 将调整后的数字视为九进制数,逐位转换为十进制result = result * 9 + digit;}System.out.println(result); // 输出实际费用}
}

代码解析

  1. 输入处理

    • String n = scanner.nextLine().trim():读取输入字符串并去除首尾空格。
    • 例如输入 "100",处理后得到 "100"
  2. 遍历每一位字符

    • for (int i = 0; i < n.length(); i++):循环处理每一位数字。
    • char c = n.charAt(i):取出第 i 位的字符。
    • int digit = c - '0':将字符转换为数字,例如 '5' → 5
  3. 调整数字位

    • if (digit > 4) { digit--; }:若当前位大于 4,则减 1。例如 5 → 47 → 6
  4. 九进制转十进制

    • result = result * 9 + digit:每一步将结果乘以 9(进制基数),并加上当前位的值。
    • 例如输入 "100",处理后的各位为 1, 0, 0,计算过程为:
      • 0*9 + 1 = 1
      • 1*9 + 0 = 9
      • 9*9 + 0 = 81

示例测试

  1. 输入:5

    • 调整后的数字位:4
    • 计算过程:0*9 + 4 = 4
    • 输出:4
  2. 输入:17

    • 调整后的数字位:1 → 1,7 → 6
    • 计算过程:0*9 + 1 = 11*9 + 6 = 15
    • 输出:15
  3. 输入:100

    • 调整后的数字位:1 → 1,0 → 0,0 → 0
    • 计算过程:0*9 + 1 = 11*9 + 0 = 99*9 + 0 = 81
    • 输出:81

综合分析

  1. 时间复杂度:O(n)

    • 只需遍历输入字符串一次,时间复杂度与输入长度线性相关。
  2. 空间复杂度:O(1)

    • 仅需常数空间存储中间变量。
  3. 正确性保证

    • 进制转换思想:通过将计费表读数视为九进制数,严格对应排除数字 4 后的数值顺序。
    • 边界处理:正确处理每一位数字的调整逻辑,确保所有含 4 的数值被跳过。
  4. 优势

    • 高效:线性时间复杂度,适用于最大输入(888,888,888)。
    • 简洁:代码逻辑清晰,直接映射问题模型。
  5. 适用场景

    • 适用于所有需要处理数字跳过的场景,例如类似的进制转换问题。

python

问题分析

出租车计费表跳过了所有含数字4的数值。例如,显示5时实际费用是4(跳过了4),显示17时实际是15(跳过4、14)。我们需要将显示数值转换为真实费用,相当于将数值转换到排除4的"伪九进制"体系中。


解题思路

  1. 进制转换思想:将每个数字位视为0-8范围(排除4),等效于九进制。
  2. 逐位调整:对于每一位数字,若大于4则减1(跳过4),然后整体按九进制转十进制。

代码实现

n = 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/84427.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

40 岁 Windows 开启 AI 转型:从系统到生态的智能重构

在科技快速发展的当下&#xff0c;人工智能成为驱动各领域变革的核心力量&#xff0c;拥有 40 年历史的 Windows 也开启了向 AI 的全面转型。2025 年 5 月 19-22 日西雅图 Build 2025 开发者大会上&#xff0c;微软展示了 Windows 11 向 AI 智能体核心平台转型的战略&#xff0…

Python实例题:Python3实现可控制肉鸡的反向Shell

目录 Python实例题 题目 代码实现 reverse_shell_client.py reverse_shell_server.py 实现原理 反向连接机制&#xff1a; 命令执行与传输&#xff1a; 功能特点&#xff1a; 关键代码解析 服务端命令处理 客户端命令执行 客户端持久化连接 使用说明 启动服务端…

AWS EC2 使用Splunk DB connect 连接 RDS mysql

1: 先创建 RDS mysql: 我们选择free: 选择free 过后,自动生成single instance, 没有垮AZ 的db 设置。 选择密码登入: 注意:上面设置密码的时候,特别提示:不能有特殊字符,我就设置了: mypassword 下面可以选择通过EC2 连接,当然也可以不选:

SAP重塑云ERP应用套件

在2025年Sapphire大会上&#xff0c;SAP正式发布了其云ERP产品的重塑计划&#xff0c;推出全新“Business Suite”应用套件&#xff0c;并对供应链相关应用进行AI增强升级。这一变革旨在简化新客户进入SAP生态系统的流程&#xff0c;同时为现有客户提供更加统一、智能和高效的业…

初识 RocketMQ 知识总结:基础概念、架构解析、核心特性与应用场景

Apache RocketMQ 是一款由阿里巴巴开源的分布式消息中间件&#xff0c;具有高吞吐量、低延迟、高可靠性等特点&#xff0c;广泛应用于互联网、金融、电商等领域。以下从多个维度对 RocketMQ 进行全面解析&#xff1a; 一、RocketMQ 基础概念 1. 定义与定位 分布式消息中间件…

[特殊字符] UI-Trans:字节跳动发布的多模态 UI 转换大模型工具,重塑界面智能化未来

2025 年&#xff0c;字节跳动&#xff08;ByteDance&#xff09;发布了革命性的多模态 UI 转换模型 —— UI-Trans&#xff0c;引发了业界广泛关注。作为一款融合视觉理解、语义分析与用户交互意图解析的 AI 工具&#xff0c;UI-Trans 在多个领域展现出强大能力&#xff0c;正在…

这个方法关闭PowerBI账户的安全默认值

这个方法关闭PowerBI账户的安全默认值 如果PowerBI账户是在 2019 年 10 月 22 日当天或之后创建的&#xff0c;则可能会自动启用安全默认值&#xff0c;登录账户会弹出弹框&#xff0c;如图&#xff1a; 使用四步就可以关闭此弹框的提示&#xff1a; 第一步&#xff1a;转到 A…

【Linux】磁盘空间不足

错误提示: no space left on device 经典版&#xff08;block占用&#xff09; 模拟 dd if/dev/zero of/var/log/nginx.log bs1M count2000排查 #1. df -h 查看哪里空间不足,哪个分区#2. du -sh详细查看目录所占空间 du -sh /* 排查占用空间大的目录 du -sh /var/* du…

计算机视觉---YOLOv2

YOLOv2讲解 一、YOLOv2 整体架构与核心特性 YOLOv2&#xff08;You Only Look Once v2&#xff09;于2016年发布&#xff0c;全称为 YOLO9000&#xff08;因支持9000类目标检测&#xff09;&#xff0c;在YOLOv1基础上进行了多项关键改进&#xff0c;显著提升了检测精度和速度…

【深度学习】1. 感知器,MLP, 梯度下降,激活函数,反向传播,链式法则

一、感知机 对于分类问题&#xff0c;我们设定一个映射&#xff0c;将x通过函数f(x)映射到y 1. 感知机的基本结构 感知机&#xff08;Perceptron&#xff09;是最早期的神经网络模型&#xff0c;由 Rosenblatt 在 1958 年提出&#xff0c;是现代神经网络和深度学习模型的雏形…

IP、子网掩码、默认网关、DNS

IP、子网掩码、默认网关、DNS 1. 概述1.1 windows配置处 2.IP 地址&#xff08;Internet Protocol Address&#xff09;2.1 公网ip2.2 内网ip2.3 &#x1f310; 公网 IP 与内网 IP 的关系&#xff08;NAT&#xff09; 3. 子网掩码&#xff08;Subnet Mask&#xff09;4. 默认网…

Azure 公有云基础架构与核心服务:从基础到实践指南

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、基础概念 Azure 的基础架构由多个核心组件构成&#xff0c;理解这些概念是掌握其技术框架的第一步&#xff1a; 地理区域&#xff08;Geographic R…

Ajax01-基础

一、AJAX 1.AJAX概念 使浏览器的XMLHttpRequest对象与服务器通信 浏览器网页中&#xff0c;使用 AJAX技术&#xff08;XHR对象&#xff09;发起获取省份列表数据的请求&#xff0c;服务器代码响应准备好的省份列表数据给前端&#xff0c;前端拿到数据数组以后&#xff0c;展…

使用防火墙禁止程序联网(这里禁止vscode)

everything搜一下Code.exe的安装路径&#xff1a;D:\downloadApp1\vscode\Microsoft VS Code\Code.exe 方法&#xff1a;使用系统防火墙&#xff08;推荐&#xff09; Windows 通过防火墙阻止 VS Code&#xff1a; 打开 Windows Defender 防火墙&#xff08;控制面板 > 系统…

微信小程序 隐私协议弹窗授权

开发微信小程序的第一步往往是隐私协议授权&#xff0c;尤其是在涉及用户隐私数据时&#xff0c;必须确保用户明确知晓并同意相关隐私政策。我们才可以开发后续的小程序内容。友友们在按照文档开发时可能会遇到一些问题&#xff0c;我把所有的授权方法和可能遇到的问题都整理出…

JVM规范之栈帧

JVM规范之栈帧 前言正文概述局部变量表操作数栈动态链接 总结参考链接 前言 上一篇文章了解了JVM规范中的运行时数据区&#xff1a; JVM规范之运行时数据区域 其中&#xff0c;栈是JVM线程私有的内存区&#xff0c;栈中存储的单位是帧&#xff08;frames&#xff09;&#xff…

SGMD辛几何模态分解

SGMD辛几何模态分解 运行包含频谱图相关系数图 Matlab语言 算法近几年刚提出&#xff0c;知网还没几个人用&#xff0c;你先用&#xff0c;你就是创新&#xff01; 算法新颖小众&#xff0c;用的人很少&#xff0c;包含分解图、频谱图、相关系数图&#xff0c;效果如图所示&a…

计算机网络总结(物理层,链路层)

目录 第一章 概述 1.基本概念 2.- C/S模式&#xff0c;B/S模式&#xff0c;P2P模式 3.- LAN,WAN,MAN,PAN的划分 4.电路交换与分组交换&#xff0c;数据报交换和虚电路交换 第二章 物理层 1.信号编码&#xff1a;不归零编码&#xff0c;曼切斯特编码 2.几种复用技术的特…

台系厂商SSD主控之争:Phison对决SMI

近日&#xff0c;台系SSD主控厂商Phison和Silicon Motion之间围绕主控性能的争论引发关注&#xff0c;焦点集中在Gen5 SSD的功耗和速度等关键指标上。 Phison的E28 Gen5 SSD控制器已推出一段时间&#xff0c;是市场上一些最快存储设备的“心脏”。其主要竞争对手Silicon Motion…

医学影像科研概述与研究伦理

关键要点 医学影像科研通过开发和优化影像技术(如X射线、CT、MRI等)推动疾病诊断和治疗进步。研究需遵循核心伦理原则:受益(为患者和社会带来益处)、无害(避免伤害)、自主(尊重患者选择权)和公正(公平对待参与者)。医学影像科研的特殊伦理问题包括知情同意、隐私保护…