news 2026/11/2 6:36:11

自用-牛客网-华为机试编程模拟题4-python

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
自用-牛客网-华为机试编程模拟题4-python

单向链表

import sys def solve(): data = list(map(int, sys.stdin.buffer.read().split())) idx = 0 n = data[idx]; idx += 1 h = data[idx]; idx += 1 nxt = {h: None} for _ in range(n - 1): a = data[idx]; idx += 1 b = data[idx]; idx += 1 nxt[a] = nxt.get(b, None) nxt[b] = a k = data[idx]; idx += 1 if k == h: h = nxt.get(h, None) else: prev, cur = None, h while cur is not None and cur != k: prev, cur = cur, nxt.get(cur, None) if cur == k and prev is not None: nxt[prev] = nxt.get(k, None) res = [] cur = h while cur is not None: res.append(cur) cur = nxt.get(cur, None) print(' '.join(map(str, res))) if __name__ == "__main__": solve()

用列表模拟链表更简单

读入全部整数到 data ├── n = 节点总数 ├── h = 头节点值 ├── 循环 n-1 次:读 (a, b),在 b 后面插入 a ├── k = 要删除的值 └── 删除 k,输出剩余链表
import sys data = list(map(int, sys.stdin.buffer.read().split())) idx = 0 n = data[idx] h = data[idx+1]; idx += 2 lst = [h] for _ in range(n - 1): a, b = data[idx], data[idx+1]; idx += 2 lst.insert(lst.index(b) + 1, a) //lst.insert(pos, a):在 pos 位置插入 a,原 pos 及之后的元素后移。 k = data[idx] lst.remove(k)//删除列表中第一个值为 k 的元素 print(' '.join(map(str, lst)))

deep seek给出的代码不能全部通过,这里先不放代码

采用DP + 滚动数组

solve() ├── 读入 n, k ├── 读入三角形 a(1-indexed) ├── 初始化 dp ├── 逐行 DP 转移 ├── 在合法最终列范围内取最大值 └── 输出
import sys def solve(): data = sys.stdin.buffer.read().split() idx = 0 n = int(data[idx]); idx += 1 k = int(data[idx]); idx += 1 a = [None] * (n + 1) for i in range(1, n + 1): cnt = 2 * i - 1 row = [0] + [int(data[idx + t]) for t in range(cnt)] //前面补 0,使列下标从 1 开始。row[j] 就是第 i 行第 j 列 idx += cnt a[i] = row NEG = float('-inf')//NEG = -inf:表示"不可达" dp = [NEG] * (2 * n + 2) dp[1] = a[1][1] for i in range(2, n + 1): ndp = [NEG] * (2 * n + 2)//ndp 存第 i 行的 DP 值,初始全 NEG cols = 2 * i - 1 prev_cols = 2 * (i - 1) - 1 for j in range(1, cols + 1): best = NEG # 从上一行 j-1(正下), j(左下), j-2(右下)转移 for pj in (j - 1, j, j - 2): if 1 <= pj <= prev_cols and dp[pj] != NEG: if dp[pj] > best: best = dp[pj] if best != NEG: ndp[j] = best + a[i][j] dp = ndp lo = max(1, n - k) hi = min(2 * n - 1, n + k) ans = NEG for j in range(lo, hi + 1): if dp[j] > ans: ans = dp[j] print(ans) if __name__ == "__main__": solve()
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/11/2 6:34:47

微软砸钱做云,WPS靠本地化追:同样叫365,背后竟是这般算计?

说起办公软件&#xff0c;你可能会想到Office 365&#xff0c;毕竟它背靠国际大厂微软&#xff0c;功能多&#xff0c;用的人也多。而WPS 365名气就没有那么大&#xff0c;但用起来还是挺顺手的&#xff0c;毕竟更符合我们国人的操作习惯。这里普及一个小知识像这类办公软件&am…

作者头像 李华
网站建设 2026/11/2 6:34:02

华为OD机试真题 新系统 2026-10-28 PythonJS【AI推理任务并行额度】

目录 题目 思路 Code 题目 题目内容: 有 n 个 AI 推理任务按顺序排队,第 i 个任务需占用 vram[i] GB 显存;调度器可选定一个任务 i 为基准,向左右连续合并相邻任务(即连续子数组),合并条件是被合并任务的显存占用不低于 vram[i]。 已知任务的并行执行额度值 = vr…

作者头像 李华
网站建设 2026/11/2 6:34:00

CISP-PTE 爆破篇

本文为 CISP-PTE 备考学习笔记&#xff0c;所有操作仅在官方授权靶场、本地自建靶场环境完成。 文中 Payload 仅用于原理学习、靶场练习。严禁直接套用在任何未授权公网业务系统。未经授权对网站进行注入、扫描属于违法行为&#xff0c;请遵守《网络安全法》。 本文目的&#x…

作者头像 李华
网站建设 2026/11/2 6:32:35

前期论文阅读

1.GIT-BO: High-Dimensional Bayesian Optimization Using Tabular Foundation Models降维操作利用TabPFN对所有候选点进行计算目标函数的预测均值U和方差&#xff0c;利用TabPFN的预测均值构建预测均值梯度的二阶矩阵H()&#xff0c;算法选择 H 的前 r 个特征向量作为梯度引导…

作者头像 李华
网站建设 2026/11/2 6:30:45

UmedPT与生存分析杂谈———医学影像人工智能

医学影像人工智能与生存分析的交叉研究正变得越来越深入。 一、UMedPT&#xff1a;一个用1%数据达到95%性能的多任务基础模型 论文《Overcoming data scarcity in biomedical imaging with a foundational multi-task model》提出了一个名为 UMedPT 的基础多任务模型&#xff0…

作者头像 李华
网站建设 2026/11/2 6:28:38

Pi Pocket 扩展API参考:host、web 与 pocket 三大接口全解析

【免费下载链接】pi-pocket A durable, multiplayer, mobile-first web app for Pi agents, built on Pi Durable 项目地址&#xff1a; https://gitcode.com/gh_mirrors/pip/pi-pocket 点击查看 免费下载 Pi Pocket 是一款构建在 Pi Durable 之上的持久化、多人协作、移动端优…

作者头像 李华