Leetcode-1007 Minimum Domino Rotations For Equal Row(行相等的最少多米諾旋轉)
阿新 • • 發佈:2019-03-10
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(行相等的最少多米諾旋轉)