字符串的最少操作数(easy)"/>
[模拟题]leetcode1758:生成交替二进制字符串的最少操作数(easy)
题目:
题解:
- 由于交错字符串要是
"010101..."
,要么是"101010..."
,所以我们直接统计将字符串s变成前面两种就行了,我们用一个函数solve()
来解决,具体思路见代码。
代码如下:
class Solution {
public:int solve(const string& s,char c){int cnt=0;for(auto x:s){// 当前字符和要变成的交错字符串不同的话,进行操作一次if(c!=x)cnt++;// c若为0则变为1,c若为1则变为0c^=1;}return cnt;}// 题解:交错字符串要么是01 01 01...,要么是10 10 10...// 所以我们只要统计将s变成上面两种的最小次数就行了int minOperations(string s) {return min(solve(s,'0'),solve(s,'1'));}
};
更多推荐
[模拟题]leetcode1758:生成交替二进制字符串的最少操作数(easy)
发布评论