1
yuanmomo 2021-04-19 18:26:04 +08:00 via iPhone
这个我还真写过,其实就是把 ip 转换到 long 型的区间段,然后进行排序,然后遍历所有的区间段,然后进行合并。这个代码,我找到过 go 版本的,然后改了一下,https://github.com/yuanmomo/go-cidrman
|
2
zxCoder 2021-04-19 20:30:40 +08:00
好家伙 隔行如隔山
每个字都能看懂,合起来就看不懂了 |
3
xupefei 2021-04-19 22:24:27 +08:00 via iPhone
你把起始地地址和终止地址转成数字,这题就变成 leetcode 了: https://leetcode.com/problems/merge-intervals/description/
|
4
winbox OP @yuanmomo
非编程算法业界人士 搞不懂啊 我是电信机线(广西,可查广西所有市的光猫密码) @xupefei 我非业界人士 看不懂 @zxCoder 其实这个就是相当于 gf 答波溜 list 的 cidr 格式 ROS 可以标记路由前,CIDR 列表包含 比如 172.217.0.0/16 ( GOGL 地址段)那么就隧道网关,不包含的直连。 现在用排除法,把 CN 所有 IP 排除,然后走隧道网关,这个容易误杀,有些非 CN CIDR 直连也很快 DNS 解析丢 esxi 虚拟化平台的 openwrt 弄了,ROS 给下面分配两个 DNS,一个 OPENWRT 的 DNS,一个清华 101.6.6.6#5353 (纯洁的,由于 53 被外网污染,所以关了外网 53 开 5353,需要在 ROS 做 NAT 把下面的设备访问 101.6.6.6#53 挟持到 5353 就可以解析) |