class Solution { public int minDominoRotations(int[] A, int[] B) { int[] s = new int[7]; for(int i=0;i<7;i++){ s[i] = 0; } int cache = 0; int len = A.length; int blen = B.length; if (len>blen){ len = blen; } for(int i=0;i<len;i++){ s[A[i]]++; cache = B[i]; s[cache]++; } int t = -1; int max = 0; for(int i=0;i<7;i++){ if (s[i]>max){ max = s[i]; t = i; } } int achange = 0; int bchange = 0; for(int i=0;i<len;i++){ if (A[i]==t && B[i]!=t){ achange++; }else if (B[i]==t && A[i]!=t){ bchange++; }else if (A[i]!=t && B[i]!=t ){ return -1; } } if (achange<bchange){ return achange; } return bchange; } }
近期评论