409. Longest Palindrome的C++算法
来源:互联网 发布:长城宽带续费网络网址 编辑:程序博客网 时间:2024/06/03 10:47
奇数直接加,偶数去掉一个再加,中间可以出现一个奇数。
class Solution {public:int longestPalindrome(string s) {vector<int> count = { 0 };count.resize(60);for (int i = 0; i < s.length(); i++)count[s[i] - 'A']++;int single = 0;int result=0;for (int i = 0; i < count.size(); i++){if (count[i] % 2 == 0) result = result + count[i];else{single = 1;result = result + count[i] - 1;}}return result + single;}};
或者另一种思路,统计奇数字母的种类:
int longestPalindrome(string s) { int odds = 0; for (char c='A'; c<='z'; c++) odds += count(s.begin(), s.end(), c) & 1; return s.size() - odds + (odds > 0);}奇数和1按位与是1,偶数和1按位与是0,因为奇数的最低位一定是1。
阅读全文
0 0
- 409. Longest Palindrome的C++算法
- 409. Longest Palindrome (C++)
- LeetCode 409. Longest Palindrome (算法、回文序列)
- LeetCode 409. Longest Palindrome 题解(C++)
- LeetCode 409. Longest Palindrome 解题 C语言
- 【Leetcode】409. Longest Palindrome
- 409. Longest Palindrome
- 409. Longest Palindrome
- [LeetCode]409. Longest Palindrome
- 409. Longest Palindrome
- 409. Longest Palindrome
- 409. Longest Palindrome
- LeetCode 409. Longest Palindrome
- 409. Longest Palindrome
- [LeetCode]--409. Longest Palindrome
- leetcode 409. Longest Palindrome
- LeetCode 409. Longest Palindrome
- 409. Longest Palindrome
- C4.5算法的分析和实现
- java基础2
- Zond 265使用教程
- IO中同步异步阻塞非阻塞的区别
- 发生系统错误 1219。不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。
- 409. Longest Palindrome的C++算法
- mysql You can't specify target table for update in FROM clause解决方法
- 利用swiper快速打造web的轮播图
- iOS-关于.a静态库开发的一些注意事项
- HDU 动态规划经典题
- 【微信公众号开发】自我学习第六章:微信回复天气问题
- BZOJ 绝世好题(DP)
- html的input的type为number时,maxlenght无效
- Leetcode: 128. Longest Consecutive Sequence