华为OD机试真题-单向链表的中间节点/哈希表【2023Q1】

题目描述

求单向链表中间的节点值,如果奇数个节点取中间,偶数个取偏右边的那个值。
输入描述:
第一行 链表头节点地址path 后续输入的节点数n
后续输入每行表示一个节点,格式: "节点地址 节点值 下一个节点地址(-1表示空指针)“
输入保证链表不会出现环,并且可能存在一些节点不属于链表。
输出描述:
链表中间节点值。
测试用例:
输入:
00010 4
00000 3 -1
00010 5 12309
11451 6 00000
12309 7 11451
输出:
6

解题思路

首先,读取链表头节点的地址和输入节点的数量。然后,创建一个哈希映射,用于存储地址与节点的映射关系。遍历链表,计算链表的长度。找到链表的中间节点,奇数长度时取中间节点,偶数长度时取中间右侧节点。

示例代码

import java.util.Scanner
华为OD 新系统 双位C卷 往年真题 考题库(持续收录中)以及算法考点详解(Python/JS/C/C++) 刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释发现新题目,随时更新。 阅读详情

相关推荐

2026华为ODJavaScript)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,JavaScript实现。

MISAYAONE的博客 8万+

2026华为OD(C语言真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,C语言实现。

MISAYAONE的博客 11万+

2026华为ODJAVA&Go)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,Java实现。

MISAYAONE的博客 34万+

2026华为OD(C++)真题【E卷+A卷+B卷+C卷+D卷】目录+在线OJ

华为OD真题题库【E卷+A卷+B卷+C卷+D卷】目录,C++实现。

MISAYAONE的博客 20万+

Java开源在线考系统怎么选?从技术选型到落地部署的完整指南

Java开源在线考系统怎么选?本文从技术选型、核心功能、部署运维、二次开发等维度,梳理了Java开源在线考系统的选型要点。

麦塔在线考试培训系统 343

大数据 之 Snappy

【代码】大数据 之 Snappy。

zhixingheyi_tian的博客 172

41面向对象(高级)-抽象类

当父类的某些方法,需要声明,但是又不确定如何实现时,可以将其声明为抽象方法,那么这个类就是抽象类。

weixin_52770734的博客 356

商超智能运营如何落地?从系统架构到实战避坑的完整技术路径

3. **多端交互展示层**:需覆盖顾客使用的**小程序、APP及H5公众号**,以及员工使用的管理后台。答:在应用层引入**适配器模式**。在项目启动时,应强制要求供应商或自研团队产出**部署文档**(含环境变量清)和**二次开发文档**(含核心流程时序图),确保后续维护不受限于个人。- **多租户插件**:MyBatis Plus的`TenantLineInnerInterceptor`可实现SQL层面的自动拼接`store_id`条件,防止开发者因SQL编写疏漏导致的数据越权。

weixin_56812938的博客 432

【手搓 Agent 第2.3关】搭建 Agent 进阶能力:工具注册中心架构重构

本篇优化了之前编写 Agent 时的杂乱硬编码,使用工具注册中心统一调度,促使后期增添工具更加容易。顺便优化了 RAG 知识库的懒加载,使 Agent 启动更快。

2502_92964924的博客 336

Java深入解析篇二十之JavaStream API详解

Stream(流)是引入的数据处理抽象,位于包。它示从数据源产生的元素序列,并支持对其进行函数式、聚合式操作。不是集合:流不存储数据,只描述对数据的计算;不是 IO 流:与无关;惰性管道:中间操作只是登记,终端操作才触发实际计算。// 命令式写法(对照) // List<String> r = new ArrayList<>();

萧瑟余晖的博客 346

电商推返模式的技术架构与系统落地实践

成功的电商推返模式系统,本质是。

weixin_42804741的博客 188

8.23拼多多笔真题-护栏补强(C++/Py/Java /Js/Go)

拼多多笔 8月23号真题,拼多多笔第二题【护栏补强】,提供详细思路讲解以及Java、C++、Python、Go、JavaScript多语言代码实现。拼多多技术岗笔真题【护栏补强】多语言题解。

qq_45776114的博客 228

RocketMQ订事务消息实战教学

用户下要同时扣库存、扣余额、加积分,拆成 MQ 异步履约后,原子性、重复投递、部分成功三大难题怎么破?本文用一个真实可跑的下案例,讲透 RocketMQ 事务消息(half 消息/本地事务/回查)、三层幂等防线(Redis SETNX + DB 唯一索引 + ▎ 条件更新)、业务失败与消费失败的区分处理、按状态补偿的 Saga 关逆向流程,以及死信工 + 人工重放的完整闭环。全量代码含 import、pom 依赖、建 SQL,附三条可演示链路、生产落地清与面题速答,跟着做即可复现。

zhenyu333的博客 318

MYBATIS=PLUS批量插入数据提效

**原因**:如果开启事务,`saveBatch` 在执行完 `flush` 后,Spring 并不会立即提交事务,而是等待方法结束才 `commit`。- **优化**:如果业务允许部分失败(或无需强事务),**去掉**该方法上的 `@Transactional`,让 `saveBatch` 内部自动提交;* **优化建议**:如果业务允许,**去掉方法上的 `@Transactional`**,让 `saveBatch` 利用自动提交模式,或者使用编程式事务来精确控制边界。

datalover的专栏 377

C++ 理解 std::thread 在核和多核上的行为差异

std::thread 本身的行为在核和多核上是完全一致的——它都是创建操作系统级别的线程,由操作系统调度器负责分配CPU时间。真正的差异在于操作系统的调度策略以及硬件并行能力。 形象地说: 核CPU = 一个人(一个核心)同时只能做一件事,但可以在多任务之间快速切换(时间片轮转)。 多核CPU = 多个人(多个核心)可以真正同时做不同的事。

q610098308的专栏 263
上一篇: 华为OD机试真题-等和子数组的最小和【2023Q1】
下一篇: 华为OD机试真题-不含101的数【2023Q1】
IkunAlgorithm
博客等级 码龄3年 33粉丝 99原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值