复原IP地址

题目链接

93. 复原 IP 地址 - 力扣(LeetCode)

思路:

1.首先读懂题目,ip 地址需要满足的条件是 没有前导0,并不超过 255

  1. 接下来我们就只需要把 这三个点,模拟的放入到 这个字符串中,会生成四个数字,这四个数字都需要满足上面这个条件,在这三个点分布的时候,我们还需要考虑到,这个点和点之间的距离,不能超过3

代码:

javascript 复制代码
/**
 * @param {string} s
 * @return {string[]}
 */
var restoreIpAddresses = function (s) {
    let res = []

    function isIp(num) {
        if (parseInt(num) > 255) {
            return false
        }
        if (num.length > 1 && num[0] === '0') return false
        return true
    }

    if (s.length < 4 || s.length > 16) return []
    // 分布三个点,最后排查哪个ip地址不可用
    for (let i = 1; i < s.length && i <= 3; i++) {
        for (let j = i + 1; j < s.length && j <= i + 3; j++) {
            for (let k = j + 1; k < s.length && k <= j + 3; k++) {
                let [a, b, c, d] = [s.substring(0, i), s.substring(i, j), s.substring(j, k), s.substring(k)]
                if (isIp(a) && isIp(b) && isIp(c) && isIp(d)) {
                    res.push(a + '.' + b + '.' + c + '.' + d)
                }
            }
        }
    }

    return res
};
相关推荐
C澒11 小时前
SGW 接入层运维实战:配置查看 + 监控分析 + 日志排查
前端·安全·运维开发
半壶清水11 小时前
[软考网规考点笔记]-操作系统核心知识及历年真题解析
网络·网络协议·算法
德育处主任Pro11 小时前
『NAS』在群晖部署一款太空策略游戏-ogame-vue-ts
前端·vue.js·游戏
Tansmjs11 小时前
实时数据可视化库
开发语言·c++·算法
WBluuue11 小时前
Codeforces 1075 Div2(ABC1C2D1D2)
c++·算法
2401_8384725112 小时前
C++模拟器开发实践
开发语言·c++·算法
ziqi52212 小时前
第二十五天笔记
前端·chrome·笔记
GISer_Jing12 小时前
Memory、Rules、Skills、MCP如何重塑AI编程
前端·人工智能·aigc·ai编程
xcs1940512 小时前
前端 项目构建问题 \node_modules\loader-runner\lib\loadLoader.js
开发语言·前端·javascript
广然12 小时前
EVE-NG 镜像管理工具 1.1 Web 版本正式发布!
运维·服务器·前端