該問題指出通過替換字符串中的字符將字符串轉換爲迴文。 形成的迴文串的長度必須與原始字符串相同。我怎樣才能計算出最小號碼。替換件來轉換一個字符串,使迴文?
例如:一個字符串ABCDE,轉換爲迴文,
分鐘替換:2
ABCDE - > ABCBA
而如果它需要特定的子串被部分什麼生成的迴文串?
實施例:字符串要求子串「茶」要產生的字符串的一部分
然後ABCDEF - > aettea
分鐘替換:4
該問題指出通過替換字符串中的字符將字符串轉換爲迴文。 形成的迴文串的長度必須與原始字符串相同。我怎樣才能計算出最小號碼。替換件來轉換一個字符串,使迴文?
例如:一個字符串ABCDE,轉換爲迴文,
分鐘替換:2
ABCDE - > ABCBA
而如果它需要特定的子串被部分什麼生成的迴文串?
實施例:字符串要求子串「茶」要產生的字符串的一部分
然後ABCDEF - > aettea
分鐘替換:4
迴文根據定義是在它們的中心的每一側都點。
對於一個奇數字母的字符串,字符串的最大長度減去1併除以2得到要替換的字符數。
(length - 1)/2 = #charsReplaced
對於偶數字符串,替換字符的最大長度是長度除以2。
length/2 = #charsReplaced
查找字符的最小數量,以取代將需要由每個字符在字符串中讀取,在串上的中心點的每一側映射字符,並確定哪些是一樣的。對於每一方都有類似的字母(例如,abcbe比最大值小1),可以將該數量與最大值分開。
這是一個邏輯問題,但我認爲你可以使用這個算法我設計計算它:
例如:radaa
firsthalf:RA
的另一半 檢查反向:AA
匹配,如果相等:RA = AA
數不等的字符數:1
取代:一個= R
那麼你有你的結果:雷達, 1個字符缺陷。