LeetCode Weekly Contest 159 3問目 - Replace the Substring for Balanced String [1234]

Source

LeetCode Weekly Contest 159
問題文

問題概要

省略

解法

省略

cLayversion 20191102-1)のコード

C++に変換後のコードはこちら

#define main dummy_main
{}
#undef main

class Solution {
public:
  int balancedString(string s) {
    int i, j, res;
    int cnv[256], cnt[4];
    int N = s.size();

    cnv['Q'] = 0;
    cnv['W'] = 1;
    cnv['E'] = 2;
    cnv['R'] = 3;
    rep(i,N) s[i] = cnv[s[i]];

    rep(i,4) cnt[i] = -(N/4);
    rep(i,N) cnt[s[i]]++;
    res = N;
    j = 0;
    rep(i,N){
      while(j < i || (j < N && max(cnt(4)) > 0)){
        if(max(cnt(4)) <= 0) break;
        cnt[s[j++]]--;
      }
      if(max(cnt(4)) > 0) break;
      res <?= j - i;
      cnt[s[i]]++;
    }
    return res;
  }
};

Current time: 2024年04月18日13時54分40秒
Last modified: 2019年11月03日19時46分16秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: