zoukankan      html  css  js  c++  java
  • 409. Longest Palindrome

    感冒了,好可怜。。
    image

    回文除了最中间的必须成对出现,so..统计一下每个字母的数量,不成对的只有1个有用,其余舍弃就行了。。。

    public class Solution 
    {
        public int longestPalindrome(String s) 
        {
            if(s.length() <= 1) return s.length();
            
            int[] letters = new int[100];
            
            for(int i = 0; i < s.length();i++)
            {
                letters[s.charAt(i) - 'A']++;
            }
            
            int res = 0;
            boolean found = false;
            for(int i = 0; i < 100;i++)
            {
                if(letters[i] % 2 == 0) res+=letters[i];
                else
                {
                    if(found) res+= letters[i]-1;
                    else
                    {
                        res += letters[i];
                        found = true;
                    }
                }
            }
            
            return res;
        }
    }
    



    一刷写了些屎。

    public class Solution {
        public int longestPalindrome(String s) {
            int[] letters = new int[256];
            for (char c: s.toCharArray()) {
                letters[c]++;
            }
            
            boolean single = false;
            int res = 0;
            for (int i: letters) {
                if (i % 2 == 0) {
                    res += i;
                } else {
                    if (!single) {
                        single = true;
                        res += i;
                    } else {
                        res += i - 1;
                    }
                }
            }
            
            return res;
            
        }
    }
    
  • 相关阅读:
    English trip V1
    English trip V1
    第一类斯特林数
    bzoj 3601 一个人的数论
    bzoj 4407 于神之怒加强版
    bzoj 2693 jzptab
    bzoj 4184 shallot
    luogu P3920 [WC2014]紫荆花之恋
    bzoj 4269 再见Xor
    luogu P2183 [国家集训队]礼物
  • 原文地址:https://www.cnblogs.com/reboot329/p/5928517.html
Copyright © 2011-2022 走看看