Topcoder SRM 499 div1 medium "WhiteSpaceEditing"
問題:http://www.topcoder.com/stat?c=problem_statement&pm=11328(要ログイン)
空白と改行で文書を作成する.ある行で改行を行うとその行が複製される.ステップは空白追加,削除,改行をそれぞれ1ステップとする.各行に含まれる空白の数が与えられるので,文書をその状態にするための最小ステップを求める.
単にスペースが増加する行を見ていって,その差分+改行のステップを数える.減少する分は増加する過程で一回改行すればいいので減少部分では1ステップと数える.のだと思う.コピペ.
コード
public class WhiteSpaceEditing { public int getMinimum(int[] lines) { int n = lines.length, r = lines[0]; for (int i = 0; i < n - 1; ++i) { r += lines[i] < lines[i + 1] ? lines[i + 1] - lines[i] + 1 : 1; } return r; } }