Leetcode-926 Flip String to Monotone Increasing(将字符串翻转到单调递增)
Posted Asurudo Jyo の 倉 庫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Leetcode-926 Flip String to Monotone Increasing(将字符串翻转到单调递增)相关的知识,希望对你有一定的参考价值。
1 class Solution 2 { 3 public: 4 int minFlipsMonoIncr(string S) 5 { 6 vector<int> left2CountOne (S.size(),0); 7 vector<int> right2CountZero (S.size(),0); 8 9 for(int i = 0;i < S.size();i ++) 10 { 11 if(S[i]==‘1‘) 12 { 13 if(i==0) 14 left2CountOne[i] = 1; 15 else 16 left2CountOne[i] = left2CountOne[i-1] + 1; 17 } 18 else if(S[i]==‘0‘ && i!=0) 19 left2CountOne[i] = left2CountOne[i-1]; 20 } 21 22 for(int i = S.size()-1;i >= 0 ;i --) 23 { 24 if(S[i]==‘0‘) 25 { 26 if(i==S.size()-1) 27 right2CountZero[i] = 1; 28 else 29 right2CountZero[i] = right2CountZero[i+1] + 1; 30 } 31 else if(S[i]==‘1‘ && i != S.size()-1) 32 right2CountZero[i] = right2CountZero[i+1]; 33 } 34 35 int result = right2CountZero[0]; 36 for(int i = 0;i < S.size()-1;i ++) 37 { 38 if(left2CountOne[i]+right2CountZero[i+1] < result) 39 result = left2CountOne[i]+right2CountZero[i+1]; 40 } 41 if(result > left2CountOne[S.size()-1]) 42 result = left2CountOne[S.size()-1]; 43 // cout << left2CountOne[S.size()-1] << endl; 44 return result; 45 } 46 };
以上是关于Leetcode-926 Flip String to Monotone Increasing(将字符串翻转到单调递增)的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode-926 Flip String to Monotone Increasing(将字符串翻转到单调递增)
LeetCode 926. Flip String to Monotone Increasing (将字符串翻转到单调递增)
Python描述 LeetCode 926. 将字符串翻转到单调递增
array_flip():只能翻转 STRING 和 INTEGER 值!在 DrupalDefaultEntityController->load()