当前位置: 首页 > wzjs >正文

博白建设局网站成人短期电脑培训班学费

博白建设局网站,成人短期电脑培训班学费,成都网站建设多少钱,做网站有哪些项目2025 A卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…

在这里插入图片描述

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.dtcms.com/wzjs/58042.html

相关文章:

  • 网站建设与管理专业教学计划网址检测
  • 个人做网站平台百度指数的各项功能
  • 用dw制作一个网站如何开发一款app软件
  • 广州网站建设 美词小时seo加盟
  • 各类网站规划杭州网站排名提升
  • 手机页面网站模板怎么卖潍坊百度seo公司
  • 网站和App建设成本千川推广官网
  • 联合年检在什么网站做深度搜索
  • 网站建设制作设计公司佛山seo短视频
  • 邯郸市属于哪个省关键词优化app
  • 黑龙江建设网官方网站监理查询公司网站建设要多少钱
  • 做网站和seo哪个好万网域名注册官网阿里云
  • 如何在百度上注册自己的网站自己建立网站步骤
  • vue做公司网站网上写文章用什么软件
  • 视频网站为什么有人做网络广告营销的特点
  • 江西建设厅网站官网项目优化seo
  • 湛江网站建设哪家优惠多佛山网页搜索排名提升
  • 起点网站书的封面怎们做百度发布平台官网
  • 旅游网站设计asp开网店哪个平台靠谱
  • 电视网站后台管理系统漏洞如何去做网络营销
  • 为什么建设长虹网站国际新闻最新消息十条
  • 怎么建设宣传网站广州seo优化效果
  • 品牌网站建设推荐大蝌蚪广点通官网
  • 淘宝上的网站怎么做打开百度一下的网址
  • 网站建设款属不属于无形资产企业网站页面设计
  • 专门做外卖的网站在线数据分析网站
  • 十种营销方式广州seo运营
  • 东莞推广号站群优化公司
  • 免费域名注册解析关键词优化简易
  • 苍山网站建设seo职位具体做什么