AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P2555. VLAN资源池

中等通过率 54% · 提交 751 · 通过 409
模拟字符串排序

小慕正在管理一个网络设备集群,其中使用了技术来对局域网设备进行逻辑划分。为了区分不同的VLAN,引入了VLAN ID(取值范围为1到4094的整数)的概念。 小慕维护了一个VLAN ID的(简称VLAN资源池)。在资源池中,连续的VLAN用“起始VLAN - 结束VLAN”表示;不连续的VLAN则用单个整数表示,所有VLAN之间用英文逗号连接。 现在,小慕的VLAN资源池中有一个业务需要申请一个VLAN。请你帮助小慕,输出从当前VLAN资源池中移除所申请的VLAN之后,更新后的资源池。

提示:带虚线的词点一下有通俗解释。

输入描述

第一行为字符串格式的VLAN资源池,第二行为业务要申请的VLAN,VLAN的取值范围为[1,4094]之间的整数。

输出描述

从输入VLAN资源池中移除申请的VLAN后字符串格式的VLAN资源池,输出要求满足题目描述中的格式,并且按照VLAN从小到大升序输出。 如果申请的VLAN不在原VLAN资源池内,输出原VLAN资源池升序排序后的字符串即可。

示例

示例 1

输入

1-5
2

输出

1,3-5

说明:原VLAN资源池中有VLAN1、2、3、4、5,从资源池中移除2后,剩下VLAN 1、3、4、5,按照题目描述格式并升序后的结果为1,3-5。

示例 2

输入

20-21,15,18,30,5-10
15

输出

5-10,18,20-21,30

说明:原VLAN资源池中有VLAN 5、6、7、8、9、10、15、18、20、21、30,从资源池中移除15后,资源池中剩下的VLAN为5、6、7、8、9、10、18、20、21、30,按照题目描述格式并升序后的结果为5-10,18,20-21,30。

示例 3

输入

5,1-3
10

输出

1-3,5

说明:原VLAN资源池中有VLAN1、2、3、5,申请的VLAN 10不在原资源池中,将原资源池按照题目描述格式并按升序排序后输出的结果为1-3,5。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
VLAN资源池示例:移除VLAN 2原资源池:1-5VLAN 1VLAN 2VLAN 3VLAN 4VLAN 5移除 VLAN 2VLAN 1VLAN 2VLAN 3VLAN 4VLAN 5输出格式:1,3-51,3-5
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「VLAN资源池」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。