博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] Longest Palindrome
阅读量:5034 次
发布时间:2019-06-12

本文共 1127 字,大约阅读时间需要 3 分钟。

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
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

 

转载于:https://www.cnblogs.com/immjc/p/7195825.html

你可能感兴趣的文章
linux crontab 保证php守护进程运行
查看>>
水晶报表填充.Net Objects数据源
查看>>
C++中类的内存结构解析
查看>>
[ZZ]解决办法:Matlab2007b在WIN7下启动时,闪一下就没反应
查看>>
网摘正则验证工具(html代码,可本地运行)
查看>>
(转)ssm框架学习入门实例
查看>>
linux字符过滤
查看>>
linux下解压命令大全(转载)
查看>>
20155202 张旭 课下作业: Linux下IPC机制
查看>>
常用正则表达式
查看>>
java十分钟速懂知识点——System类
查看>>
算法:快速排序
查看>>
sed扩展命令使用
查看>>
关于异或
查看>>
抽象类,抽象方法
查看>>
山寨机与国产手机的历史
查看>>
FFMPEG转码后得到的MP4必须要加载完才能播放的问题
查看>>
刷过一题之NOIP2013表达式求值
查看>>
【HNOI2015】菜肴制作
查看>>
javascript继承
查看>>