贪心-leetcode409最长回文串
思考:
- 总的思路:从数字中选择个数是偶数的去union,最后如果有过奇数则多union一个作为中心;
- 从数组中select然后
- feasible是如果该数字为偶数则union到两边,如果为奇数则按照偶数处理再给中心添加一个,如果多个奇数则按照一个奇数处理
class Solution {
public:
int longestPalindrome(string s) {
unordered_map<char,int>count;
int ans=0;
for(char c: s)
count[c]++;
for(auto p:count){
int v=p.second;
ans+=v/2*2;
if(ans%2==0&&v%2==1){
ans+=1;
}
}
return ans;
}
};