轻松的编程学习
首页
题库
学习路径
在线商城
能力地图
下载应用
登录 / 注册
菜单
补全:缩写
👁️ 3 人浏览
💬 0 人评论
❤️ 添加收藏
compress
把展开的地址缩回去:每组去前导零,最长的一串(至少两组)全零缩成 ::。补全「找最长零串」那一段。
提交你的答案
请登录后提交答案。
去登录
← 补全:展开
补全:前 64 位是哪个网 →
更多题目
让程序说出"你好"
让程序欢迎你
哪个命令能显示内容
哪里是指令,哪里是结果
让程序说出你的名字
这个程序会显示什么
代码编辑器
语言:
python3
c11
cpp17
Ctrl
+
Enter
运行
👩🏫 AI
▶ 运行代码
重置代码
打印代码
def expand(addr): if "::" in addr: head, tail = addr.split("::") h = head.split(":") if head else [] t = tail.split(":") if tail else [] groups = h + ["0"] * (8 - len(h) - len(t)) + t else: groups = addr.split(":") return ":".join(g.zfill(4) for g in groups) def compress(addr): groups = [g.lstrip("0") or "0" for g in expand(addr).split(":")] best, cur, start, bstart = 0, 0, 0, -1 # TODO: 扫一遍 groups + ["x"],记下最长的连续 "0" 段的起点 bstart 和长度 best if best < 2: return ":".join(groups) return ":".join(groups[:bstart]) + "::" + ":".join(groups[bstart + best:]) print(compress("2001:0db8:0000:0000:0000:0000:0000:0001") + "/" + compress("0000:0000:0000:0000:0000:0000:0000:0001") + "/" + compress("2001:0db8:0001:0000:0000:0001:0000:0000"))
本次输入:
输出:
👩🏫
AI
请登录后使用 AI 老师
×
登录后可获得解题思路、提示与错误分析。
去登录
关闭
🎉
恭喜你,回答正确!
系统判定:正确
我知道了
💬 题目评论
提交
全部评论
全部评论