当前位置: 首页 > article >正文

腾讯云服务器跑通 Cube Sandbox:从 PVM 内核到 65 ms 冷启动的全程实战

腾讯云服务器跑通 Cube Sandbox从 PVM 内核到 65 ms 冷启动的全程实战适合第一次想把 Cube Sandbox 真正跑起来的开发者。本文用一台普通腾讯云 CVMOpenCloudOS 9.4 / 8C16G / 无嵌套虚拟化从空白系统一路推到Sandbox.create()65ms 完成、E2B SDK 直接打印 Hello World全程命令、日志、截图都来自真实复现无遮挡。关键词Cube Sandbox · OpenCloudOS 9 · PVM 内核 · E2B 兼容 · AI Agent 沙箱 · MicroVM0. 这台机器长什么样先把机器档案摆在前面方便你拿自己的 CVM 对照项值OSOpenCloudOS 9.4默认内核6.6.119-47.8.oc9.x86_64CPUAMD EPYC 9K658 vCPU内存15 GiB系统盘200 GB XFS公网 IP129.211.223.113嵌套虚拟化未开放/proc/cpuinfo无 vmx / svm/dev/kvm不存在第一件事永远是先跑一遍核对脚本脚本是我上一篇文章沉淀下来的cube_preflight.sh与官方online-install.sh的 preflight 一一对齐免得你后面踩到坑还以为是自己 yum 配错了scpcube_preflight.sh root129.211.223.113:/root/sshroot129.211.223.113bash /root/cube_preflight.sh实测输出红阻断 / 黄提示 / 绿通过读图三秒看懂✅ OS / 架构 / Root / 命令 / 内存 15GB //是 XFS / 磁盘 193 GB / NetworkManager / 镜像出网 全都过❌ 仅/dev/kvm不存在CPU flags 里既没有vmx也没有svm。这种只差一刀的环境正是 Cube Sandbox 设计的主战场之一—— 普通云服务器没有嵌套虚拟化靠官方提供的PVM 宿主机内核把 KVM 能力补上来再走和裸金属一样的一键安装流程。下面我就一步步把这台机器从差一刀推到全绿可用。1. 第一步从 GitHub Releases 下载 PVM 宿主机内核PVM 内核就是 Cube Sandbox 项目自己维护的一个 Linux 内核 fork把普通云上没有 KVM这件事在内核态解决掉。它只通过 GitHub Releases 单包发布不走 yum 源文件大小 575 MB。直接github.com下载在国内会卡到 100KB/s先看官方 CNB 镜像URL_CNBhttps://cnb.cool/CubeSandbox/CubeSandbox/-/releases/download/v0.2.2/kernel-6.6.69_cube.pvm.host.005.x_gb85200d80fa2-1.x86_64.rpmcurl-L-C---retry5--retry-delay3-okernel-pvm.rpm$URL_CNB\-w\n[done] http%{http_code} size%{size_download} time%{time_total}s avg%{speed_download}B/s\nsha256sum kernel-pvm.rpm实测输出速度比 GitHub 直连快了一个量级56.9s 跑完 575 MB平均 10.1 MB/s。sha256校验我也顺手做了 —— 装内核之前一定要做这一步这是后面所有故事的地基。找最新版本号的小窍门curl -fsSL https://api.github.com/repos/tencentcloud/CubeSandbox/releases/latest | python3 -c import sys,json; djson.load(sys.stdin); print(d[tag_name]); [print(a[name]) for a in d[assets]]文件名带cube.pvm.host的就是宿主机内核。2. 第二步装内核 改 GRUB 重启# 1. 安装内核--oldpackage 跳过版本对比避免比已装更老时报错rpm-ivh--oldpackagekernel-pvm.rpm# 2. grubby 列出所有内核 当前默认grubby--infoALL|grep-E^kernel|^index|^titlegrubby --default-kernel实测注意一个很省心的细节RPM 装完grubby已经自动把 PVM 内核切到index0所以官方文档里那条grubby --set-default-indexindex在 OpenCloudOS 9 上默认可以省掉。接下来跑官方提供的host_grub_config.sh它会把 PVM 内核需要的一长串启动参数elevatornoop、transparent_hugepagenever、kvm.nx_huge_pagesnever、ptioff等等合并到GRUB_CMDLINE_LINUX并按 key 去重再grub2-mkconfig一次。我先把脚本下到本地看了一眼内容再跑74 行纯 bash不下软件不联网安全curl-fsSLhttps://cnb.cool/CubeSandbox/CubeSandbox/-/git/raw/master/deploy/pvm/grub/host_grub_config.sh\-ohost_grub_config.shcathost_grub_config.sh# 看一眼确认安全bashhost_grub_config.sh执行结果最后reboot。我用一个 SSH 探活循环监控服务器26 秒就回来了且uname -r已经是6.6.69-cube.pvm.host.005.x-gb85200d80fa2主机已成功进入 PVM 内核。3. 第三步modprobe kvm_pvm让 /dev/kvm 出现进入新内核后还差最后一道加载kvm_pvm模块。这一步很短但效果立竿见影modprobe kvm_pvm lsmod|grepkvmls-la/dev/kvmechokvm_pvm/etc/modules-load.d/kvm-pvm.conf# 开机自动加载读图重点kvm_pvm49 KB → 拉起kvm1.18 MB → 关联kmem_cache与irqbypass整条 KVM 模块链路就绪。/dev/kvm真的出现了crw-rw-rw- 1 root kvm 10, 232 May 22 17:04 /dev/kvm。内存仍是 15 GiBPVM 内核基本不吃内存这一点很关键。到这里这台 CVM 在 Cube Sandbox 看来就和一台有 KVM 能力的机器完全等价了。4. 第四步一键安装 Cube Sandbox2 分 25 秒拿到完整服务栈curl-sLhttps://cnb.cool/CubeSandbox/CubeSandbox/-/git/raw/master/deploy/one-click/online-install.sh\|CUBE_PVM_ENABLE1MIRRORcnbashCUBE_PVM_ENABLE1是给 Cube Sandbox 安装器的暗号 —— 让它在沙箱guest端用 PVM 优化版的 vmlinux否则一旦回退到普通 guest 内核整个性能预期会大打折扣。实测整套部署只用了 2 分 25 秒17:04:51 → 17:07:16。安装器干的事可以从日志里读出来简化版如下[online-install] downloading cube-sandbox-one-click-46424e7.tar.gz... 438 MB, 平均 10.5 MB/s [one-click-runtime] installed PVM guest kernel as .../cube-kernel-scf/vmlinux [one-click-runtime] starting cube-proxy / cube-sandbox-redis / cube-sandbox-mysql ... [one-click-runtime] cube proxy dns ready via cube-proxy-coredns [one-click-runtime] started network-agent pid8459 [one-click-runtime] started cubemaster pid8460 [one-click-runtime] started cube-api pid8461 [one-click-runtime] started cubelet pid8462 [quickcheck] 1/5 check network-agent healthz ... OK [quickcheck] 2/5 check network-agent readyz ... OK [quickcheck] 3/5 check cubemaster /notify/health ... OK [quickcheck] 4/5 check cube-api /health ... OK [quickcheck] 5/5 check essential sockets and config ... OK [one-click-runtime] core services ready [one-click-runtime] webui listening on 12088 [one-click] install complete (rolecontrol)装完之后整台机器的运行时全景如下这张图我会建议你也保存一份相当于一张Cube Sandbox 拓扑速记读图重点5 个 Docker 容器全部 healthycube-webui(12088)、cube-proxy(80/443)、cube-proxy-coredns、cube-sandbox-redis(6379)、cube-sandbox-mysql(3306)。4 个独立进程cube-api(3000) 是 E2B 兼容的 REST 网关、cubemaster(8089) 是调度器、cubelet(9966/9998/9999) 是节点 agent、network-agent(19090) 给 CubeVS 做 eBPF 网络。/usr/local/bin装入 4 个公开命令cubemastercli管模板/沙箱、cubecli管节点、cube-runtime与containerd-shim-cube-rscontainerd Shim v2 集成。到这一步机器已经是一台**“开机即可对外提供 E2B 兼容 API 的 Agent 沙箱节点”**。5. 第五步建代码解释器模板19 秒 READYcubemastercli tpl create-from-image\--imagecube-sandbox-cn.tencentcloudcr.com/cube-sandbox/sandbox-code:latest\--writable-layer-size 1G\--expose-port49999--expose-port49983--probe49999输出立刻给出job_id和template_id然后用cubemastercli tpl watch --job-id id跟进度整个模板从 PULLING 到 READY 只用了 19 秒17:07:35 → 17:07:54最后tpl list看一眼记住这串tpl-90d8079679a2410c8b64c7b0下一步 Python SDK 会用它。6. 第六步装 e2b-code-interpreter写第一段 Agent 代码yuminstall-ypython3 python3-pip pip3 configsetglobal.index-url https://mirrors.ustc.edu.cn/pypi/simple pip3installe2b-code-interpreterexportE2B_API_URLhttp://127.0.0.1:3000exportE2B_API_KEYdummyexportCUBE_TEMPLATE_IDtpl-90d8079679a2410c8b64c7b0exportSSL_CERT_FILE/root/.local/share/mkcert/rootCA.pem# 一键脚本生成的 mkcert 根证书第一段 Hello World 我刻意写得啰嗦一点在沙箱内打印环境信息、跑一次重计算、再写一个文件验证 IOimportos,timefrome2b_code_interpreterimportSandbox t0time.perf_counter()sbSandbox.create(templateos.environ[CUBE_TEMPLATE_ID],timeout120)print(f[host] sandbox created in{(time.perf_counter()-t0)*1000:.1f}ms, id{sb.sandbox_id})ressb.run_code( import platform, sys, os, socket print(hello from cube sandbox) print(python :, sys.version.split()[0]) print(platform :, platform.platform()) print(hostname :, socket.gethostname()) print(cpus :, os.cpu_count()) print(cwd :, os.getcwd()) )print(res.logs.stdout)跑一次几个细节非常值得读沙箱端到端创建只花了 73.1 ms从 SDKSandbox.create()调用到sandbox_id返回含网络往返。沙箱里uname -r是6.6.69-cube.pvm.guest.005.x-gb85200d80fa2注意是pvm.guest和宿主的pvm.host配对 —— 这就是CUBE_PVM_ENABLE1起的作用。hostnametpl-90d8与模板 ID 前缀一致便于排查。沙箱内cpus2是模板默认配置/sandbox-data/note.txt写入读出一切正常。listdir /看见的是一个独立的 Linux 根bin/etc/lib/proc...不是宿主机的/这就是内核级隔离在文件系统层的直观体现。7. 第七步把它当 Agent 用 —— shell 数据 画图 多沙箱隔离光打印 Hello 没什么意思这一节我用一个稍长的脚本把Cube Sandbox 的几大核心能力一次性跑全沙箱内执行 shellid/uname/df沙箱内pip install numpy matplotlib沙箱内画 sin/cos 图写入/workspace/plot.png用sb.files.read()把图取回宿主机同时再开两个沙箱在sb1写/tmp/secret.txt验证sb2看不见。跑一次然后是沙箱里画的、宿主机拉回来的那张图回看运行结果三个沙箱依次 65 / 77 / 65 ms冷启动隔离验证sb2 sees /tmp/secret.txt ? False—— 完美隔离沙箱内df -h /显示overlay2 1.1G正好对应--writable-layer-size 1G沙箱里pip install成功走 USTC 镜像—— 说明 Cube Sandbox 默认给沙箱开了出网你也可以用 CubeVS 做细粒度网络策略那是另一个话题。如果你做过 E2B 集成会发现这段代码里完全没出现 Cube 字样。from e2b_code_interpreter import SandboxSandbox.create(...)是原汁原味 E2B SDK 调用唯一改的就是E2B_API_URL这一个环境变量。这就是官方说的零成本迁移。8. 重头戏冷启动延迟 benchmark连开 30 个README 上写60 ms 单并发 / P95 90 ms 50 并发到底是不是真的我连续创建了 30 个沙箱times_ms[]foriinrange(30):t0time.perf_counter()sbSandbox.create(templateT,timeout60)dt(time.perf_counter()-t0)*1000times_ms.append(dt);print(f[{i1:2}/30]{dt:7.1f}ms)实测指标实测README 官方参考min57.8 ms-P5065.4 ms60 ms裸金属单并发mean66.1 ms67 ms裸金属50 并发P9578.3 ms90 ms裸金属50 并发max81.0 ms-这是在普通云 CVM PVM 这种二次虚拟化场景下测出来的数据P50 65.4 ms、P95 78.3 ms—— 完全配得上 README 里那条百毫秒级基线。要知道30 次连开里没有一次破百对比 Docker 的 ~200 ms 已经领先 3-5 倍对比传统 VM秒级就是数量级的差距。回想这个数据是怎么实现的模板启动时Cube Sandbox 已经在节点上预先做好了 rootfs 解包、运行时初始化、网络栈准备一次Sandbox.create实际上是在预热好的资源池里 Clone 一个 MicroVM这就是 README 里基于资源池化预置和快照克隆技术跳过耗时初始化流程的工程含义。9. 这台机器现在是什么状态把上面所有步骤的产物归纳一下维度之前现在内核6.6.119-47.8.oc9.x86_64默认6.6.69-cube.pvm.host.005.x-gb85200d80fa2PVM 宿主/dev/kvm不存在crw-rw-rw-已生成Cube Sandbox 服务未安装5 个 Docker 容器 4 个独立进程5/5 quickcheck 全过cubemastercli tpl list/tpl-90d8079679a2410c8b64c7b0STATUSREADYe2b-code-interpreter/v2.6.2环境变量已export一次冷启动/65 ms 量级P50 65.4ms端口/80/443 (cube-proxy)、3000 (cube-api)、12088 (webui) 等接下来你可以做什么几个方向我自己马上会去试把它接到现有的 LangChain / LangGraph / LlamaIndex Agent因为是 E2B 兼容绝大多数 Agent 框架换一个E2B_API_URL就能直接跑你私有部署的 Cube Sandbox不用重写工具。跑 SWE-Bench 这种基准README 视频演示里就有 RL SWE-Bench 场景这台机器 8C16G Cube 已经够开 30 沙箱并发跑评测。开 CubeVS 网络策略限制沙箱只能访问白名单域名这是防prompt 注入诱导 curl 外泄的关键一道。打 webui浏览器开http://IP:12088就能看到沙箱、模板、节点的可视化面板前提是把 12088 加到安全组。10. 写在最后为什么这条路值得走在写这篇之前我做了一台 2C2G 机器的环境核对练习结论是Cube Sandbox 对环境的硬要求其实只有三条——/dev/kvm、内存 ≥ 8GB、/data/cubelet在 XFS 上。前两条把绝大多数普通 CVM 挡在门外但这并不意味着你必须买裸金属PVM 内核这条路是真的能走通而且不慢给一台没有嵌套虚拟化的腾讯云 CVM 装上 PVM 内核 一键脚本部署 建模板 跑通 SDK全程不到 10 分钟我从 17:04 开始下载内核17:18 已经在跑 30 沙箱 benchmarkOpenCloudOS 9 是 Cube Sandbox 的first-class目标平台必需命令、文件系统类型、NetworkManager、yum、Docker 一键装 —— 全程零适配冷启动 65 ms 是真的不是营销数字普通 CVM PVM 都能复现。如果你是在做 AI Agent / 代码执行 / RL 训练 / E2B 私有化我会给一个朴素建议在你的开发环境里先按这篇文章跑通一遍。等你接下来给 Agent 写第二个、第三个工具时这段代码能不能放心跑在生产里这个问题会有一个非常具体的答案——一个 65 ms 起、内核级隔离、E2B 完全兼容、可由你自己审计的 MicroVM。附录 Acube_preflight.sh 完整版与官方online-install.sh的 preflight 完全对齐可独立跑1 秒出结果。#!/usr/bin/env bashset-uc_red\033[0;31m;c_grn\033[0;32m;c_yel\033[0;33m;c_cyn\033[0;36m;c_rst\033[0mok(){printf${c_grn}[ OK ]${c_rst}%s\n$*;}warn(){printf${c_yel}[WARN]${c_rst}%s\n$*;}fail(){printf${c_red}[FAIL]${c_rst}%s\n$*;}hd(){printf\n${c_cyn} %s ${c_rst}\n$*;}hd1. 操作系统;./etc/os-release2/dev/null||trueecho PRETTY_NAME :${PRETTY_NAME:-unknown}case${ID:-}inopencloudos)okOpenCloudOS 检测到;;*)warn非 OpenCloudOS${ID:-unknown};;esachd2. 内核 架构;echo uname -r :$(uname-r);echo uname -m :$(uname-m)[[$(uname-m)x86_64]]okx86_64||fail需要 x86_64hd3. Root 权限[[${EUID}-eq0]]okroot||fail必须 roothd4. 必需命令forcmdintarawkcurlwgetpython3 systemctl;docommand-v$cmd/dev/nullok$cmd-$(command-v$cmd)||fail缺命令:$cmddonehd5. KVM 能力/dev/kvmif[[-e/dev/kvm]];thenok/dev/kvm -$(ls-l/dev/kvm)elsefail/dev/kvm 不存在flags$(grep-oE(vmx|svm)/proc/cpuinfo|sort-u|tr\n )[[-n$flags]]warnCPU flags:$flags可能可启用嵌套 KVM\||warn无 vmx/svm flag必须走 PVM 路径fihd6. 内存 ( 8 GB)mem_kb$(awk/MemTotal/ {print $2}/proc/meminfo)mem_gb$(awk-vk$mem_kbBEGIN{printf %.2f, k/1024/1024})echo MemTotal:${mem_kb}KB (~${mem_gb}GB)[[$mem_kb-ge7500000]]ok内存达标||fail内存不达标min_mem_kb7500000 写死hd7. /data/cubelet 所在分区 (要求 XFS)target/data/cubelet;probe$targetwhile[[!-e$probe]];doparent$(dirname$probe);[[$parent$probe]]break;probe$parent;donefs_type$(df-T$probe2/dev/null|awkNR2 {print $2})echo 探测路径 :$probe;echo 文件系统 :${fs_type:-unknown}[[$fs_typexfs]]okXFS||fail需要 XFShd8. 磁盘空闲空间avail_kb$(df-k/|awkNR2 {print $4})avail_gb$(awk-vk$avail_kbBEGIN{printf %.1f, k/1024/1024})echo / 可用 :${avail_gb}GB[[$avail_kb-ge31457280]]ok充足||warn建议预留 30GBhd9. DNS 能力ifcommand-vresolvectl/dev/null;thenokresolvectl 可用elsestate$(systemctl show-pLoadState--valueNetworkManager2/dev/null||echo?)[[$stateloaded]]okNetworkManager loaded||fail需要 resolvectl 或 NetworkManagerfihd10. Dockercommand-vdocker/dev/nullok$(docker--version)||warn未装 docker一键脚本会自动装hd11. 网络出网foruinhttps://cnb.cool https://mirrors.ustc.edu.cn;docode$(curl-o/dev/null-s-w%{http_code}--max-time8$u||echo000)[[$code~^[23]]]ok$u- HTTP$code||warn$u- HTTP$codedonehd汇总echo 本机:${PRETTY_NAME:-?}|$(uname-r)|$(uname-m)| mem${mem_gb}GB | / fs${fs_type:-?}echo 时间:$(date%F %T %Z)附录 B参考链接Cube Sandbox GitHubhttps://github.com/TencentCloud/CubeSandboxCube Sandbox CNB 镜像https://cnb.cool/CubeSandbox/CubeSandbox官方文档首页https://cubesandbox.com/PVM 部署文档https://cubesandbox.com/guide/pvm-deploy.htmlE2B Code Interpreter SDKhttps://github.com/e2b-dev/code-interpreterOpenCloudOShttps://www.opencloudos.org/

相关文章:

腾讯云服务器跑通 Cube Sandbox:从 PVM 内核到 65 ms 冷启动的全程实战

腾讯云服务器跑通 Cube Sandbox:从 PVM 内核到 65 ms 冷启动的全程实战 适合第一次想把 Cube Sandbox 真正跑起来的开发者。本文用一台普通腾讯云 CVM(OpenCloudOS 9.4 / 8C16G / 无嵌套虚拟化),从空白系统一路推到 Sandbox.creat…...

鸿蒙同城兴趣圈页面构建:活动热区地图、话题动态与安全提示模块详解

鸿蒙同城兴趣圈页面构建:活动热区地图、话题动态与安全提示模块详解 前言 在 HarmonyOS 6.0 应用开发中,社交类页面的地理可视化、话题互动和安全提示是提升用户体验的关键补充模块。本文将以“同城兴趣圈”应用中的“活动热区”模拟地图、“话题动态”帖…...

鸿蒙同城兴趣圈页面构建:今晚活动与同频推荐模块详解

鸿蒙同城兴趣圈页面构建:今晚活动与同频推荐模块详解 前言 在 HarmonyOS 6.0 应用开发中,社交类页面的活动展示和用户推荐是提升用户参与度的核心功能模块。本文将以“同城兴趣圈”应用中的“今晚活动”时间线模块和“同频推荐”用户卡片网格为例&#x…...

鸿蒙同城兴趣圈页面构建:附近社群与兴趣标签模块详解

鸿蒙同城兴趣圈页面构建:附近社群与兴趣标签模块详解 前言 在 HarmonyOS 6.0 应用开发中,社交类页面的核心挑战在于如何高效展示附近社群、兴趣标签和活动信息。本文将以“同城兴趣圈”应用的主页面为例,深入解析如何在鸿蒙平台上构建社交发现…...

鸿蒙云端相册页面构建:我的相册横向滚动与空间占用模块详解

鸿蒙云端相册页面构建:我的相册横向滚动与空间占用模块详解 前言 在 HarmonyOS 6.0 应用开发中,云端相册类页面的相册管理和存储空间分析是用户深度使用的核心功能模块。本文将以“云端相册”应用中的“我的相册”横向滚动列表和“空间占用”存储分析模块…...

ChatGPT 2026智能体生态爆发(官方白皮书未公开的7个生产级约束条件)

更多请点击: https://kaifayun.com 第一章:ChatGPT 2026智能体生态爆发的范式跃迁 2026年,ChatGPT已不再仅是一个对话模型,而是演进为可自主编排、跨平台协同、具备实时环境感知与决策闭环能力的智能体(Agent&#xf…...

AI写的小说与人类作者写的究竟有什么区别

AI写的小说与小说作者写的究竟有什么区别当2026年生成式AI的创作能力已经能做到日更百万字,当起点晋江上超过七成的网文作者都开始用AI辅助码字,当读者对着屏幕上几十万字的爽文分不清到底是人写的还是AI生成的——关于AI创作的讨论,早就从“…...

从CI/CD到生产回滚:Gemini嵌入Java构建链的4层审查网(含Gradle/Maven插件零侵入部署脚本)

更多请点击: https://codechina.net 第一章:Gemini Java代码审查 Google Gemini 模型(特别是 Gemini 1.5 Pro 及后续版本)已展现出对 Java 代码语义理解、缺陷识别与重构建议的强推理能力。在实际工程中,可将其集成至…...

【独家实测】ChatGPT-4 Turbo vs GPT-3.5 Turbo单位token成本对比:附Python自动核算脚本(限免24h)

更多请点击: https://codechina.net 第一章:ChatGPT API价格计算的底层逻辑与成本认知 ChatGPT API 的计费并非基于会话时长或请求次数,而是严格依据模型实际处理的 token 数量——包括输入(prompt)和输出&#xff08…...

ChatGPT API接入全流程详解:从密钥配置、请求封装到错误重试、流式响应的7步落地指南

更多请点击: https://kaifayun.com 第一章:ChatGPT API接入的前置准备与核心概念 在正式调用 ChatGPT API 之前,需完成身份认证、环境配置与服务理解三类关键准备。OpenAI 平台不再提供免费配额的永久访问权限,所有开发者必须通过…...

千问 LeetCode 2569. 更新数组后处理求和查询 TypeScript实现

这道题的核心是高效维护 nums1 的区间反转操作,因为数据规模达到 10^5,暴力反转会超时。下面给出 TypeScript 实现,采用线段树 懒标记的方案。function handleQuery(nums1: number[], nums2: number[], queries: number[][]): number[] {con…...

千问 LeetCode 2569. 更新数组后处理求和查询 Java实现

这道题的核心是高效维护nums1的区间反转操作,因为数据规模达到10^5,暴力反转会超时。需要用到线段树(区间更新区间查询)或BitSet来优化。下面给出Java实现,采用线段树 懒标记的方案:class Solution {publi…...

千问 LeetCode 2561. 重排水果 Python3实现

这道题的核心是贪心 利用全局最小值做中介交换。下面给出Python3实现,附带详细注释。from typing import List from collections import Counterclass Solution:def minCost(self, basket1: List[int], basket2: List[int]) -> int:# 1. 统计每个水果在两个篮子…...

千问 LeetCode 2565. 最少得分子序列 Java实现

这道题的核心思路是:删除t中的一个连续子串,让剩下的前缀后缀能拼成s的子序列。因为删除的区间越连续,得分(right - left 1)越小,所以我们本质上是在找最短的待删除子串长度。 下面给出Java实现&#xff…...

DeepSeek LeetCode 2561. 重排水果 Java实现

LeetCode 2561. 重排水果题目分析有两个长度为 n 的数组 basket1 和 basket2,每个数组包含若干水果。每次操作可以交换两个数组中的任意水果,花费为这两个水果中较小的那个值。目标是使两个数组中的水果种类和数量完全相同(即两个数组重排后相…...

智能指挥官 · 用 Multi-Agent 编排让 AI 团队自己干活

🧑‍💻 博主介绍 & 诚邀关注 作者:专注于 Java、Python、前端开发的技术博主 | 全网粉丝 30 万 在校期间协助导师完成毕业设计课题分类、论文格式初审及代码整理工作;工作后持续分享毕设思路,助力毕业生顺利完成…...

精准监测,畅行无阻——DX-SZ3200系列在交通领域的应用

在铁路、高速及各类交通系统中,信号监测与管理的精准性和实时性至关重要。DX-SZ3200系列数字化射频实时频谱侦测接收机模块,凭借其卓越的性能和广泛的应用场景,成为了交通领域信号监测的得力助手。DX-SZ3200系列模块集成了先进的数字化射频接…...

文献速吞兽:基于LangChain的论文辅助阅读智能体系统设计与实现

🧑‍💻 博主介绍 & 诚邀关注 作者:专注于 Java、Python、前端开发的技术博主 | 全网粉丝 30 万 在校期间协助导师完成毕业设计课题分类、论文格式初审及代码整理工作;工作后持续分享毕设思路,助力毕业生顺利完成…...

AI导演系统:编排角色扮演,让多智能体协作效率飙升10倍

🧑‍💻 博主介绍 & 诚邀关注 作者:专注于 Java、Python、前端开发的技术博主 | 全网粉丝 30 万 在校期间协助导师完成毕业设计课题分类、论文格式初审及代码整理工作;工作后持续分享毕设思路,助力毕业生顺利完成…...

【性能评估】信标辅助双跳认知无线电无线中继选择方案的性能评估研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

免费文档下载终极方案:如何优雅获取百度文库等30+平台资源

免费文档下载终极方案:如何优雅获取百度文库等30平台资源 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为…...

HALAR® ECTFE光滑内壁:脱硫塔里,石膏垢为什么不贴它

苏福(深圳)科技有限公司 世索科HALAR ECTFE官方代理商一、脱硫塔结垢这事,运行维护的人最头疼湿法烟气脱硫(WFGD)系统里,脱硫塔内壁、除雾器、浆液循环管道,天天泡在含硫酸钙、亚硫酸钙的浆液里…...

超纯水管路里,那些肉眼看不见的颗粒威胁 : HALAR® ECTFE光滑内壁

苏福(深圳)科技有限公司 世索科HALAR ECTFE官方代理商 一、超纯水管路:半导体制造中最脆弱的洁净链条超纯水(UPW)是半导体晶圆制造中用量最大的工艺辅料,用于晶圆清洗、光刻后漂洗及化学品稀释。其电阻率需…...

AP‑0316 语音模组实测:降噪 + 回声消除 + 全接口,一次搞定通话对讲所有痛点

做音频通话、门禁对讲、车载会议、IPC 拾音的工程师,大概率都被这几个问题折磨过:风扇、空调、风噪、敲击声压不住,通话糊成一团喇叭音量一大就啸叫、回声炸麦,全双工根本跑不起来主板音频电路复杂,ADC/DAC/ 功放还要自…...

代码优化的10个技巧:让你的代码既高效又优雅

对于软件测试从业者而言,编写高质量的测试代码是保障测试效率、提升测试可靠性的核心基础。无论是自动化测试脚本、测试工具开发还是测试框架搭建,臃肿、低效、可读性差的代码不仅会拖慢测试执行速度,还会增加缺陷排查的难度,提升…...

CNN 卷积神经网络

1. 图像基本概念 2. CNN概述 3. 卷积层 3.1 卷积计算 卷积计算 本质上是 卷积核 和 输入数据的局部区域 间做点积; 计算规则:从左到右,从上到下; 3.1.1 Padding 填充 - 填充的像素个数 通过上面的卷积计算过程,最终的…...

Python(循环中断)

目录 1.break---终止整个循环 1.1 基本概念 1.2 基本用法示例 1.3 典型应用场景 1.4 break 与 else 的经典搭配 2. continue —— 跳过本次迭代 2.1 基本概念 2.2 基本用法示例 2.3 典型应用场景 2.4 continue与 else 3. break vs continue —— 对比总结 4. pass …...

高通量细胞因子/生物因子检测技术介绍

高通量细胞因子/生物因子检测技术介绍—多维免疫分析技术,赋能精准医学与转化研究 导语 伴随精准医学领域持续深耕与转化医学研究的高速推进,细胞因子、趋化因子、生长因子等各类可溶性生物标志物的动态表达变化,成为解析疾病发病机制、研判…...

2026 谷歌 GEO 已成流量主战场,不懂 AI 搜索直接掉队

📉 三个信号同时出现,意味着一个时代结束了:① 你的Google/百度自然搜索流量,连续两个季度下滑超过15%② 你精心优化的"关键词"排名,依然带不来预期的转化③ 你的目标用户,开始在 ChatGPT、Perpl…...

免费中医AI终极指南:仲景大模型如何让普通人也能享受专业中医咨询

免费中医AI终极指南:仲景大模型如何让普通人也能享受专业中医咨询 【免费下载链接】CMLM-ZhongJing 首个中医大语言模型——“仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域打造的预训练大语言模型。 The first-ever Traditional Chines…...