harpaldip
BAN USER// In swift
func longestPlainDrome(word: String) {
var charsInfo = [Character: Int]()
let chars = Array(word.lowercased().characters)
for char in chars {
if let count = charsInfo[char] {
charsInfo[char] = count + 1
} else {
charsInfo[char] = 1
}
}
var unpairedChars = [Character]()
var longestPlainChar = [Character]()
for (key, value) in charsInfo {
var repeatCount = value - 1
if repeatCount == 0 {
unpairedChars.append(key)
}
if value % 2 == 0 {
repeatCount = value
} else if value - 1 != 0 {
repeatCount = value - 1
unpairedChars.append(key)
}
for _ in 0..<repeatCount {
let index = ceil(Double(longestPlainChar.count/2))
longestPlainChar.insert(key, at: Int(index))
}
}
if let fistChar = unpairedChars.first {
let index = ceil(Double(longestPlainChar.count/2))
longestPlainChar.insert(fistChar, at: Int(index))
}
print(String(longestPlainChar))
}
- harpaldip February 14, 2017