EgzonArifi / MakeSquare

Make Square by dynamic programming

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MakeSquare

Make Square by dynamic programing

A string S is called a square if there is some string T such that S = T + T. For example, the strings "",

aabaab" and "xxxx" are squares, but "a", "aabb" and "aabbaa" are not. 

You are given a String s. You want to change s into a square. You may do the following operations:

 Insert a new character anywhere into the string (including its beginning and end).

 Remove a single character.

 Replace a single character by another character.

Please compute and return the smallest number of operations needed to change the given s into a square.

Note that this is always possible: for example, you can remove all characters (one at a time).

Definition

Class: RepeatString

Method: minimalModify

Parameters: String

Returns: int

Method signature: int minimalModify(String s)

(be sure your method is public)

Constraints

  • s will contain between 1 and 50 characters, inclusive.

  • Each character in s will be a lowercase English letter ('a'-'z').

Examples

    

"aba"

Returns: 1

One of the optimal solutions is to remove the 'b'. This changes the given s into the square "aa".

About

Make Square by dynamic programming


Languages

Language:C# 100.0%