[LC] 1007. Minimum Domino Rotations For Equal Row
Posted xuanlu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LC] 1007. Minimum Domino Rotations For Equal Row相关的知识,希望对你有一定的参考价值。
In a row of dominoes, A[i]
and B[i]
represent the top and bottom halves of the i
-th domino. (A domino is a tile with two numbers from 1 to 6 - one on each half of the tile.)
We may rotate the i
-th domino, so that A[i]
and B[i]
swap values.
Return the minimum number of rotations so that all the values in A
are the same, or all the values in B
are the same.
If it cannot be done, return -1
.
class Solution { public int minDominoRotations(int[] A, int[] B) { int[] countA = new int[7]; int[] countB = new int[7]; int[] same = new int[7]; int n = A.length; for (int i = 0; i < n; i++) { countA[A[i]] += 1; countB[B[i]] += 1; if (A[i] == B[i]) { same[A[i]] += 1; } } for (int i = 1; i <= 6; i++) { if (countA[i] + countB[i] - same[i] == n) { return n - Math.max(countA[i], countB[i]); } } return -1; } }
以上是关于[LC] 1007. Minimum Domino Rotations For Equal Row的主要内容,如果未能解决你的问题,请参考以下文章
[LC] 76. Minimum Window Substring
LC 963. Minimum Area Rectangle II