算法十七

IP提取

算法描述

  • IP的格式通常是4个8位的二进制数字(0 ~ 255)表示,中间以点号隔开
  • 输入为一串字符,只包含数字,不包含点号。
  • 输出所有可能的IP
  • IP中的任意一段都不可以0开头,例如1902426,可以输出1.90.24.26, 19.0.24.26, 190.2.4.26, 单不能输出19.02.4.26

参数定义

  • 类名 IPConverter
  • 方法 possibleAddresses
  • 输入参数 string
  • 输出 vector <string>
  • 方法声明 vector <string> possibleAddresses(string ambiguousIP)

限制条件

  • ambiguousIP 包含[0,50]个字符
  • ambiguousIP 中的每个字符在[0,9]之间

例子

  • 输入
    • IPConverter: “1902426”
  • 输出
    • { “1.90.24.26”, “1.90.242.6”, “19.0.24.26”, “19.0.242.6”, “190.2.4.26”, “190.2.42.6”, “190.24.2.6” }

测试实例

  • 实例一

    • 输入

      • ”000”
    • 输出

      • { }
  • 实例二

    • 输入
      • ”“
    • 输出
      • { }
  • 实例三

    • 输入
      • ”0186290”
    • 输出
      • { “0.18.62.90”, “0.186.2.90”, “0.186.29.0” }
  • 实例四

    • 输入
      • ”11111111”
    • 输出
      • { “1.1.111.111”, “1.11.11.111”, “1.11.111.11”, “1.111.1.111”, “1.111.11.11”, “1.111.111.1”, “11.1.11.111”, “11.1.111.11”, “11.11.1.111”, “11.11.11.11”, “11.11.111.1”, “11.111.1.11”, “11.111.11.1”, “111.1.1.111”, “111.1.11.11”, “111.1.111.1”, “111.11.1.11”, “111.11.11.1”, “111.111.1.1” }
  • 实例五

    • 输入
      • ”3082390871771742784899852251737850570843857369760”
    • 输出
      • { }
  • 实例六

    • 输入
      • ”256255255”
    • 输出
      • { “2.56.255.255”, “25.6.255.255”, “25.62.55.255” }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值