LeetCode Weekly Contest 170 4問目 - Minimum Insertion Steps to Make a String Palindrome [1312]

Source

LeetCode Weekly Contest 170
問題文

問題概要

省略

解法

省略

cLayversion 20200112-1)のコード

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

#define main dummy_main
{}
#undef main

int N;
char S[502];
int dp[502][502];

int solve(int a, int b){
  if(a > b) return 0;
  if(dp[a][b] >= 0) return dp[a][b];
  if(S[a]==S[b]) return dp[a][b] = solve(a+1, b-1);
  return dp[a][b] = min(solve(a+1,b), solve(a,b-1)) + 1;
}

class Solution {
public:
  int minInsertions(string s) {
    N = s.size();
    rep(i,N) S[i] = s[i];
    rep(i,N) rep(j,N) dp[i][j] = -1;
    return solve(0, N-1);
  }
};

Current time: 2024年04月26日00時46分45秒
Last modified: 2020年01月12日05時41分19秒 (by laycrs)
Tags: Competitive_Programming_Incomplete LeetCode
トップページに戻る

Logged in as: unknown user (not login)

ログイン: