1. 程式人生 > >Leetcode-1007 Minimum Domino Rotations For Equal Row(行相等的最少多米諾旋轉)

Leetcode-1007 Minimum Domino Rotations For Equal Row(行相等的最少多米諾旋轉)

minimum urn imu bre break row pre leetcode return

 1 class Solution
 2 {
 3     public:
 4         int minDominoRotations(vector<int>& A, vector<int>& B)
 5         {
 6             int rrnt = INT_MAX;
 7             for(int i = 1; i <= 6;i ++)
 8             {
 9                 for(int j = 0;j < 2;j ++)
10                 {
11 int rnt = 0; 12 if(j==0) 13 { 14 int k; 15 for(k = 0;k < A.size();k ++) 16 { 17 if(A[k]!=i&&B[k]==i) 18 rnt ++;
19 else if(A[k]!=i&&B[k]!=i) 20 break; 21 } 22 if(k==A.size()) 23 rrnt = min(rrnt,rnt); 24 } 25 else 26 {
27 int k; 28 for(k = 0;k < A.size();k ++) 29 { 30 if(B[k]!=i&&A[k]==i) 31 rnt ++; 32 else if(B[k]!=i&&A[k]!=i) 33 break; 34 } 35 if(k==A.size()) 36 rrnt = min(rrnt,rnt); 37 } 38 } 39 } 40 if(rrnt==INT_MAX) 41 return -1; 42 else 43 return rrnt; 44 } 45 };

假設上面一排全是1,或者下面一排全是1,或者上面一排全是2,或者下面一排全是2......一共12個循環。每種循環如果不符合,就翻轉一下看看對面能不能給他安排上,如果翻轉過還是安排不上,那這種情況就不可能,開始下一輪循環。

Leetcode-1007 Minimum Domino Rotations For Equal Row(行相等的最少多米諾旋轉)