当前位置: 代码迷 >> 综合 >> Leetcode 1864. 构成交替字符串需要的最小交换次数(DAY 132) ---- 贪心算法学习期
  详细解决方案

Leetcode 1864. 构成交替字符串需要的最小交换次数(DAY 132) ---- 贪心算法学习期

热度:75   发布时间:2023-11-17 18:00:45.0

原题题目

在这里插入图片描述


代码实现(首刷自解)

class Solution {
    
public:int minSwaps(string s) {
    int retone = 0,retzero = 0,one = 0,zero = 0;for(int i=0;i<s.size();++i){
    if(s[i] == '0'){
    if(i%2) ++retzero;else    ++retone; ++zero;  } else{
    if(i%2) ++retone;else    ++retzero;++one;}}if(abs(zero-one) > 1)    return -1;if(zero == one) return min(retzero/2,retone/2);else    if(zero > one)  return retzero/2;else    return retone/2;}
};