题目描述

VLAN是一种对局域网设备进行逻辑划分的技术,为了标识不同的VLAN,引入VLAN ID(1-4094之间的整数)的概念。定义一个VLAN ID的资源池(下称VLAN资源池),资源池中连续的VLAN用开始VLAN-结束VLAN表示,不连续的用单个整数表示,所有的VLAN用英文逗号连接起来,

现在有一个VLAN资源池,业务需要从资源池中申请一个VLAN,需要你输出从VLAN资源池中移除申请的VLAN后的资源池,

输入描述

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

输出描述

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

如果申请的VLAN不在原VLAN资源池内,输出原VLAN资源池升序排序后的字符串即可,

备注

输入VLAN资源池中VLAN的数量取值范围为[2-4094]间的整数,资源池中VLAN不重复且合法([1,4094]之间的整教),输入是乱序的。

用例:

输入

1-5
2

输出

1,3-5

说明

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

输入

5,1-3
10

输出

1-3,5

说明

原VLAN资源池中有VLAN1、2、3、5,申请的VLAN10不在原资源池中,,将原资源池按照描述格式升序后的结果为1-3,5

解决思路:

输入格式解析:

  • 输入的VLAN资源池是一个字符串,其中包含多个VLAN(整数),可能是连续的,也可能是单独的数字。连续的VLAN以开始VLAN-结束VLAN的格式表示。

  • 目标是从资源池中移除一个特定的VLAN。

移除指定VLAN:

  • 如果申请的VLAN存在于资源池中,我们需要根据给定的格式(即区间或单个VLAN)调整资源池,去掉该VLAN。

  • 如果申请的VLAN不在资源池中,则直接输出原资源池。

输出格式:

  • 结果需要按照VLAN从小到大升序排列。

  • 资源池中的VLAN按区间或者单独数字的格式输出。

代码实现