码迷,mamicode.com
首页 > 编程语言 > 详细

LeetCode 有效数独 JAVA

时间:2019-10-27 12:44:33      阅读:71      评论:0      收藏:0      [点我收藏+]

标签:否则   泛型编程   get   实现   efault   leetcode   思路   row   default   

思路很简单:   分别判断 行 列 box  是否有重复的数字,如果有重复的,返回 false 。

 

单独拿一行来看。

 

1. 设置一个 HashMap<value, count>

 

2. put( value,  getOrDefault(value,0) + 1 )。 这里不用 get ( value ), 因为 java 中的 get 是通过 equals 实现的,泛型编程需要重写 equals 函数,才能正常使用 get 。 而 getOrDefault(value, 0) 容器中有 value 这个值,那返回值就是这个值,否则就返回 0 。

 

3. 如果 get(value) 大于 1, 那么则返回 false 。

 

一个数独有 9 行, 定义 row [9] 即可。 对于列 和 box 也是相同的处理方法。

box 的 index =  ( i / 3 ) * 3 + j / 3 ;  

 

 

解题方法借鉴于 Leetcode 官方题解。

LeetCode 有效数独 JAVA

标签:否则   泛型编程   get   实现   efault   leetcode   思路   row   default   

原文地址:https://www.cnblogs.com/stul/p/11746932.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!