内网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规则:
- IP 格式为 xxx.xxx.xxx.xxx(4 个分段,每个分段为 0-255 的整数);
- 第一个分段必须是 10;
- 每个分段不能以 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
说明
解题思路
合法性校验规则:
- IP 必须为
xxx.xxx.xxx.xxx四段式 - 每段取值范围 0~255
- 每段不能有前导零(
01,00等非法,本身合法) - 第一段必须是
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
版权声明:
作者:魔改工程师
链接:https://www.sylblog.xin/archives/681
文章版权归作者所有,未经允许请勿转载。
THE END