LeetCode Weekly Contest 161 3問目 - Minimum Remove to Make Valid Parentheses [1249]

Source

LeetCode Weekly Contest 161
問題文

問題概要

省略

解法

省略

cLayversion 20191102-1)のコード

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

#define main dummy_main
{}
#undef main

class Solution {
public:
  string minRemoveToMakeValid(string s) {
    int i, k = 0, N;
    int mark[1d5] = {};
    string t, res;

    N = s.size();
    rep(i,N){
      if(k == 0 && s[i] == ')') continue;
      if(s[i]=='(') k++;
      if(s[i]==')') k--;
      t += s[i];
    }
    N = t.size();

    rrep(i,N) if(k > 0 && t[i] == '(') k--, mark[i] = 1;
    rep(i,N) if(mark[i]==0) res += t[i];
    return res;
  }
};

Current time: 2024年04月26日17時00分23秒
Last modified: 2019年11月03日20時12分03秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: