cxqghzj·2024-01-16 21:26·12 次阅读
给定一个 nn 层的金字塔。
第 nn 层有一个 11 到 2×n−12×n−1 的排列。
除 nn 层以外每个数组都是下面三个数字的中位数。
求第一层的数字。
考虑二分答案的正确性。
注意到如果 ii 不是中位数,那么 j≤ij≤i 一定要么被 ii 干掉,要么被干掉 ii 的数字干掉。
所以有单调性。
套路地,将每个数字变为 0/10/1 表示是否大于当前的数字。
发现顶层数字是离中间最近的两个相邻相同的数字。
最后特判没有相邻相同的数字即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现