发布时间:2026/7/4 20:00:50
Kimi    LeetCode 3459. 最长 V 形对角线段的长度 Rust实现
以下是 LeetCode 3459. 最长 V 形对角线段的长度 的 Rust 实现rustuse std::collections::HashMap;impl Solution {pub fn len_of_v_diagonal(grid: VecVeci32) - i32 {let n grid.len();if n 0 { return 0; }let m grid[0].len();// 四个对角线方向顺时针排列// 0: 右上 (-1, 1)// 1: 右下 (1, 1)// 2: 左下 (1, -1)// 3: 左上 (-1, -1)let dirs: [(isize, isize); 4] [(-1, 1), (1, 1), (1, -1), (-1, -1)];// 记忆化缓存: (i, j, turned, num, dir_idx) - 最长路径长度let mut memo: HashMap(usize, usize, bool, i32, usize), i32 HashMap::new();fn dfs(grid: VecVeci32,dirs: [(isize, isize); 4],memo: mut HashMap(usize, usize, bool, i32, usize), i32,i: usize,j: usize,turned: bool,num: i32,dir_idx: usize,n: usize,m: usize,) - i32 {// 越界检查if i n || j m {return 0;}// 值不匹配if grid[i][j] ! num {return 0;}// 查缓存let key (i, j, turned, num, dir_idx);if let Some(val) memo.get(key) {return val;}// 下一个期望值2和0交替let next_num if num 2 { 0 } else { 2 };let (dx, dy) dirs[dir_idx];// 选择1继续沿原方向走let ni (i as isize dx) as usize;let nj (j as isize dy) as usize;let mut res 1 dfs(grid, dirs, memo, ni, nj, turned, next_num, dir_idx, n, m);// 选择2如果没转过弯顺时针转90度if !turned {let next_dir (dir_idx 1) % 4;let (ndx, ndy) dirs[next_dir];let nni (i as isize ndx) as usize;let nnj (j as isize ndy) as usize;res res.max(1 dfs(grid, dirs, memo, nni, nnj, true, next_num, next_dir, n, m));}memo.insert(key, res);res}let mut ans 0;for i in 0..n {for j in 0..m {if grid[i][j] 1 {// 从每个1出发尝试4个方向for d in 0..4 {let (dx, dy) dirs[d];let ni (i as isize dx) as usize;let nj (j as isize dy) as usize;ans ans.max(1 dfs(grid, dirs, mut memo, ni, nj, false, 2, d, n, m));}}}}ans}}核心要点- 越界处理利用 Rust 中 usize 的无符号特性当 i dx 0 时as usize 会自然溢出为很大的数从而被 i n 捕获无需额外判断负数- 记忆化使用 HashMap 缓存 (i, j, turned, num, dir_idx) 状态避免重复计算- 方向数组4 个对角线方向按顺时针排列转弯即 (dir_idx 1) % 4- 序列规则1 → 2 → 0 → 2 → 0 → ...通过 next_num if num 2 { 0 } else { 2 } 实现

相关新闻

ExtDiff:终极Word文档比较工具完整指南 - 免费开源解决方案
2026/7/4 19:00:50

ExtDiff:终极Word文档比较工具完整指南 - 免费开源解决方案

ExtDiff:终极Word文档比较工具完整指南 - 免费开源解决方案 【免费下载链接】ExtDiff Compare documents using MS Word from the command line. 项目地址: https://gitcode.com/gh_mirrors/ex/ExtDiff 在文档协作和版本控制的日常工作中,Word文档…

阅读更多
基于深度学习的风电功率预测:从LSTM模型到工业级系统构建
2026/7/4 19:00:50

基于深度学习的风电功率预测:从LSTM模型到工业级系统构建

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 风电场的调度员盯着屏幕上跳动的功率曲线,眉头紧锁。天气预报说未来几小时风速会上升,但具体到每一台风机能…

阅读更多
深度强化学习核心算法解析:从DQN、A3C到PPO的演进与实践指南
2026/7/4 19:00:50

深度强化学习核心算法解析:从DQN、A3C到PPO的演进与实践指南

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Claude 随心用,限时 5 折。 👉 点击领海量免费额度 在实际项目中,当我们需要让一个智能体(Agent)学会与环境交互并做出最优决策时,强化学…

阅读更多
国产大模型2024实测指南:文心一言、通义千问、Kimi等6大平台对比
2026/7/4 21:00:50

国产大模型2024实测指南:文心一言、通义千问、Kimi等6大平台对比

我不能按照该标题生成相关内容。原因如下:标题中提及的“GPT-5”目前(截至2024年中)并不存在。OpenAI官方从未发布、命名或确认GPT-5模型,亦无任何公开技术文档、API接口、模型权重或权威渠道证实其存在。所有声称“可使用GPT-5”…

阅读更多
如何系统提升AI编程质量:基于Karpathy原则的3个关键策略
2026/7/4 21:00:50

如何系统提升AI编程质量:基于Karpathy原则的3个关键策略

如何系统提升AI编程质量:基于Karpathy原则的3个关键策略 【免费下载链接】andrej-karpathy-skills A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathys observations on LLM coding pitfalls. 项目地址: https://gitcode.c…

阅读更多
终极Mac清理指南:5分钟学会用Mole命令行工具释放存储空间
2026/7/4 21:00:50

终极Mac清理指南:5分钟学会用Mole命令行工具释放存储空间

终极Mac清理指南:5分钟学会用Mole命令行工具释放存储空间 【免费下载链接】Mole 🐹 Clean, uninstall, analyze, optimize, and monitor your Mac from the terminal. 项目地址: https://gitcode.com/GitHub_Trending/mole15/Mole 还在为Mac存储空…

阅读更多
N_m3u8DL-RE:跨平台流媒体下载工具的终极指南
2026/7/4 21:00:50

N_m3u8DL-RE:跨平台流媒体下载工具的终极指南

N_m3u8DL-RE:跨平台流媒体下载工具的终极指南 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE N_m3u…

阅读更多
UI.Vision RPA完整指南:免费开源自动化工具的5大核心功能解析
2026/7/4 21:00:50

UI.Vision RPA完整指南:免费开源自动化工具的5大核心功能解析

UI.Vision RPA完整指南:免费开源自动化工具的5大核心功能解析 【免费下载链接】RPA Ui.Vision Open-Source RPA Software with Computer Vision, OCR, Anthropic Computer Use/LLM. Selenium IDE import/export. 项目地址: https://gitcode.com/gh_mirrors/rp/RPA…

阅读更多
13DOF传感器与PIC18F2455在嵌入式导航中的实践
2026/7/4 20:00:50

13DOF传感器与PIC18F2455在嵌入式导航中的实践

1. 项目背景与核心价值在嵌入式系统开发领域,精准的定位与导航能力一直是技术突破的重点方向。传统方案往往受限于传感器精度和处理器性能,难以在低成本硬件上实现复杂的环境感知与运动追踪。而13DOF(13自由度)传感器与PIC18F2455…

阅读更多
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告
2026/7/3 19:49:14

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

阅读更多
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?
2026/7/4 11:16:38

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

阅读更多
Axure RP中文界面终极解决方案:3分钟告别英文困扰
2026/7/4 0:00:44

Axure RP中文界面终极解决方案:3分钟告别英文困扰

Axure RP中文界面终极解决方案:3分钟告别英文困扰 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英…

阅读更多
STM32F745VG与MC6470 IMU的高性能姿态控制系统设计
2026/7/4 0:00:44

STM32F745VG与MC6470 IMU的高性能姿态控制系统设计

1. MC6470与STM32F745VG的黄金组合解析在工业自动化和机器人控制领域,传感器与微控制器的协同工作能力直接决定了系统的响应速度和定位精度。MC6470作为一款6自由度惯性测量单元(6DOF IMU),与STM32F745VG这款基于ARM Cortex-M7内核的高性能微控制器组合&…

阅读更多
本地部署SAM Audio音频语义分割模型完整指南
2026/7/4 0:00:44

本地部署SAM Audio音频语义分割模型完整指南

1. 项目概述:为什么要在本地跑 SAM Audio?这不只是“能用”,而是“必须用”SAM Audio——全称是 Segment Anything Model for Audio,不是 Meta 那个视觉领域的 SAM(Segment Anything Model)的简单移植&…

阅读更多
基于Dify与DeepSeek构建私有知识库问答系统实战指南
2026/7/4 11:17:16

基于Dify与DeepSeek构建私有知识库问答系统实战指南

在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…

阅读更多
FAE放射组学分析工具:医学影像特征探索的完整解决方案
2026/7/4 5:24:16

FAE放射组学分析工具:医学影像特征探索的完整解决方案

FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE 你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…

阅读更多
DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖!
2026/7/4 15:20:35

DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖!

DesktopNaotu:你的终极离线思维导图解决方案,告别网络依赖! 【免费下载链接】DesktopNaotu 桌面版脑图 (百度脑图离线版,思维导图) 跨平台支持 Windows/Linux/Mac OS. (A cross-platform multilingual Mind Map Tool) 项目地址:…

阅读更多