内网IP有效性校验

2026 华为OD机试真题 6月7日华为OD上机新系统考试真题 100 分题型

点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解

题目描述

企业内网运维中,需要对分配的 IP 地址段进行有效性校验:给定一个存储内网 IP 地址列表,要求筛选出符合 A 类内网网段(10.0.0.0-10.255.255.255)的 IP 地址,并按“网段层级”(即 IP 的第二个分段数值/第三分段/第四分段)升序排序。

A类内网IP规则:

  1. IP 格式为 xxx.xxx.xxx.xxx(4 个分段,每个分段为 0-255 的整数);
  2. 第一个分段必须是 10;
  3. 每个分段不能以 0 开头(除非分段本身是 0,如 10.0.1.1 合法,10.01.1.1 不合法)。

2026 华为OD机试真题 6月7日华为OD上机新系统考试真题 100 分题型

点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解

补充说明

给定的每组 IP 地址列表中最多有 15 个 IP 地址;输入 IP 格式不保证合法。

输入描述

一个存储内网 IP 地址列表

输出描述

筛选出符合 A 类内网网段

示例1

输入

10.2.3.4,192.168.1.1,10.0.1.1,10.01.2.3,10.1.0.256,10.10.5.6,10.1.8.9

输出

10.0.1.1,10.1.8.9,10.2.3.4,10.10.5.6

说明

示例2

输入

10.216.20.96,10.257.25.193,10.218.150.20,10.159.163.72,10.233.43.60,10.263.201.27,10.94.142.203,10.251.113.174,44.74.87.156,10.145.173.233,10.102.21.96,10.20.23.65,10.43.130.246.12,250.166.162.178,10.138.80.223

输出

10.20.23.65,10.94.142.203,10.102.21.96,10.138.80.223,10.145.173.233,10.159.163.72,10.216.20.96,10.218.150.20,10.233.43.60,10.251.113.174

说明

示例3

输入

10.45.50.76,10.72.48.0,137.8.136.55,10.72.99.206,10.46.51.77,10.0.166.206,10.46.51.79,10.2.111.132.253,10.45.50.77,10.46.50.77

输出

10.45.50.76,10.45.50.77,10.46.50.77,10.46.51.77,10.46.51.79,10.72.48.0,10.72.99.206

说明

解题思路

合法性校验规则:

  1. IP 必须为 xxx.xxx.xxx.xxx 四段式
  2. 每段取值范围 0~255
  3. 每段不能有前导零(01, 00 等非法, 本身合法)
  4. 第一段必须是 10(A 类内网网段)

关键点:

  • 使用 split(".") 分割 IP
  • 检查空分段(如 10..1.1
  • 检查前导零:len(p) > 1 and p[0] == "0"
  • 检查数字字符:p.isdigit()
  • 检查数值范围:0 <= v <= 255
  • 排序键为 (第二段, 第三段, 第四段) 数值三元组

复杂度分析

  • 时间复杂度:O(N log N),其中 N 为 IP 地址数量,排序占主导
  • 空间复杂度:O(N),存储合法 IP
THE END