zoukankan      html  css  js  c++  java
  • [LeetCode] Longest Palindrome

    Given an integer array, find three numbers whose product is maximum and output the maximum product.

    Example 1:

    Input: [1,2,3]
    Output: 6

    Example 2:

    Input: [1,2,3,4]
    Output: 24

    Note:

    1. The length of the given array will be in range [3,104] and all elements are in the range [-1000, 1000].
    2. Multiplication of any three numbers in the input won't exceed the range of 32-bit signed integer.

    求给定字母组成的最长回文串,使用map记录元素出现的次数。回文串的长度如果是偶数,则其中出现的每种字母都是偶数个,如果是奇数,则只可能出现一种字母的个数为奇数个,其余每种字母个数为偶数个。所以如果map中字母出现偶数个,则这些字母都可以组成回文串,如果map中字母出现奇数个,则将其次数-1,并加入回文串中。最后判断在回文串中由出现奇数次字母组成的个数,如果这个数大于1,则在结果中+1,最长回文串尺寸为奇数,否则直接返回结果。

    class Solution {
    public:
        int longestPalindrome(string s) {
            unordered_map<char, int> m;
            for (char c :s)
                m[c]++;
            int res = 0;
            int odd = 0;
            for (auto it = m.begin(); it != m.end(); it++) {
                if (it->second % 2 == 0) {
                    res += it->second;
                }
                else {
                    res += (it->second - 1);
                    odd++;
                }
            }
            return (odd > 0 ? res + 1 : res);
        }
    }; 
    // 6 ms
  • 相关阅读:
    c# WinForm 文本输入对话框
    C# 打印 长字符串自动换行
    Jquery通过AJAX从后台获取数据显示在表格上(复选)
    jquery通过AJAX从后台获取信息并显示在表格上的类
    迟来的总结与规划
    Tools
    HTML+CSS 学习清单
    JQuery 入门学习列表
    Git(Mac OSX下)
    dom 元素占据高度
  • 原文地址:https://www.cnblogs.com/immjc/p/7195825.html
Copyright © 2011-2022 走看看