news 2026/9/5 6:32:20

元宝 专家 LeetCode 36. 有效的数独 Rust实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
元宝 专家 LeetCode 36. 有效的数独 Rust实现

LeetCode 36. 有效的数独 — Rust 实现

思路

利用三个二维数组分别记录:

  • 行中每个数字是否已出现
  • 列中每个数字是否已出现
  • 3×3 宫中每个数字是否已出现

遍历一次棋盘,对每个已填充的数字进行三重检查即可。

代码

impl Solution {
pub fn is_valid_sudoku(board: Vec<Vec>) -> bool {
// rows[i][d] 表示第 i 行数字 d 是否已出现
let mut rows = [[false; 9]; 9];
let mut cols = [[false; 9]; 9];
let mut boxes = [[false; 9]; 9];

for i in 0..9 { for j in 0..9 { let c = board[i][j]; if c == '.' { continue; } let digit = (c as u8 - b'1') as usize; // 0~8 let box_idx = (i / 3) * 3 + (j / 3); // 0~8 if rows[i][digit] || cols[j][digit] || boxes[box_idx][digit] { return false; } rows[i][digit] = true; cols[j][digit] = true; boxes[box_idx][digit] = true; } } true }

}

关键点

要点 说明
数字映射
“‘1’~‘9’” →
“0~8”,方便做数组下标
宫的编号
“(i / 3) * 3 + (j / 3)”,将 9 个宫线性编号
时间复杂度 O(1),固定 81 格
空间复杂度 O(1),固定 3×9×9

补充说明

  • LeetCode 上结构体签名通常已给定为
    “struct Solution;”,只需实现
    “impl Solution” 即可。
  • 题目只需验证已填充的格子,空白
    “.” 跳过不做处理。
  • 如果棋盘本身是
    “&[Vec]” 或
    “Vec<Vec>” 引用形式,可根据实际签名微调参数类型。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/2 7:39:59

CPU实时多人姿态估计:MediaPipe优化与33+FPS工程实践

简介&#xff1a;本资源是一套基于MediaPipe与MoveNet多模型融合的视频实时多人姿态估计轻量化实现方案&#xff0c;面向计算机视觉初学者、AI应用开发者及边缘部署研究者&#xff0c;解决CPU端低延迟多人关键点检测难题。压缩包共21个文件&#xff0c;含7个OpenVINO格式模型XM…

作者头像 李华
网站建设 2026/9/2 7:39:48

雷达信号峰值检测:从噪声抑制到CFAR的工程实践

简介&#xff1a;本资源是一套面向雷达信号处理初学者与工程实践者的MATLAB轻量级工具集&#xff0c;聚焦雷达IQ数据读取与目标峰值检测两大核心环节&#xff0c;适用于毫米波雷达、FMCW雷达等系统的实验分析、课程设计及原型验证。压缩包共2个文件&#xff0c;均为MATLAB源码&…

作者头像 李华
网站建设 2026/9/2 7:39:32

软件测试面试复盘全攻略:从面试题到能力提升的完整方法

面试结束后&#xff0c;大部分测试人都会有这样一种感觉&#xff1a;走出公司大门&#xff0c;脑子里开始不断回放刚才的问答&#xff0c;越想越觉得有些题答得不够好&#xff0c;某些知识点明明准备过&#xff0c;却在面试时说得磕磕绊绊。如果只是停留在“感觉没发挥好”这个…

作者头像 李华
网站建设 2026/9/4 20:30:21

技术团队淬火后如何回火:四步法恢复团队韧性

最近在技术社区看到一个很有意思的现象&#xff1a;很多团队在经历了一场“硬仗”——比如一个紧急的大版本上线、一次复杂的系统重构&#xff0c;或者一个高强度的技术攻关项目之后&#xff0c;项目本身是成功了&#xff0c;但团队里的“人”却好像“回不了火”了。 这里的“…

作者头像 李华
网站建设 2026/9/4 19:08:42

FPGA实现FIR滤波器:从MATLAB算法到Verilog硬件设计的完整工程实践

简介&#xff1a;本资源是面向本科至博士阶段FPGA教学与算法实践的Verilog FIR低通滤波器完整开发套件&#xff0c;聚焦数字信号处理在可编程逻辑上的工程实现&#xff0c;适用于课程设计、毕业设计及科研原型验证。压缩包共619个文件&#xff0c;涵盖Verilog源码&#xff08;.…

作者头像 李华
网站建设 2026/9/4 22:18:35

从比赛项目到开源项目:工程化转型的实践指南

最近在技术社区里&#xff0c;看到不少关于“开源”的讨论&#xff0c;尤其是当一些项目因为各种原因&#xff0c;比如比赛失利、团队解散、资金断裂&#xff0c;最终选择“全部开源”时&#xff0c;总会引发一阵复杂的情绪。有人觉得这是“最后的体面”&#xff0c;是技术理想…

作者头像 李华