LeetCode 有效数独 JAVA

Posted stul

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode 有效数独 JAVA相关的知识,希望对你有一定的参考价值。

思路很简单:   分别判断 行 列 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的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode中等36. 有效的数独JavaScript

leetcode36. 有效的数独

leetcode36. 有效的数独

Leetcode——有效的数独

每日LeetCode一道题————有效的数独

leetcode题解之36. 有效的数独