问题

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3788 访问。

给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。

在构造过程中,请注意区分大小写。比如 "Aa" 不能当做一个回文字符串。

注意:假设字符串的长度不会超过 1010。

输入:"abccccdd"

输出:7

解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。


Given a string which consists of lowercase or uppercase letters, find the length of the longest palindromes that can be built with those letters.

This is case sensitive, for example "Aa" is not considered a palindrome here.

Note:Assume the length of given string will not exceed 1,010.

Input:"abccccdd"

Output:7

Explanation:One longest palindrome that can be built is "dccaccd", whose length is 7.


示例

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3788 访问。

public class Program {public static void Main(string[] args) {var s = "abccccdd";var res = LongestPalindrome(s);Console.WriteLine(res);Console.ReadKey();}private static int LongestPalindrome(string s) {var res = 0;var odd = false;var dic = new Dictionary<char, int>();foreach(var c in s) {if(dic.ContainsKey(c)) {dic[c]++;} else {dic[c] = 1;}}foreach(var item in dic) {res += item.Value;if(item.Value % 2 == 1) {res -= 1;odd = true;}}return odd ? res + 1 : res;}}

以上给出1种算法实现,以下是这个案例的输出结果:

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3788 访问。

7

分析:

显而易见,以上算法的时间复杂度为: 

C#LeetCode刷题之#409-最长回文串(Longest Palindrome)相关推荐

  1. python【力扣LeetCode算法题库】409-最长回文串(数学 计数器)

    最长回文串 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设字 ...

  2. leetcode题库:5.最长回文子串Longest Palindrome string

    题目描述: /** 题目地址:https://leetcode-cn.com/problems/longest-palindromic-substring/description/  * 题目:最长回 ...

  3. LeetCode解题记录(409)——最长回文串

    LeetCode解题记录--最长回文串 题目描述 示例 题目理解 解题思路 题目描述 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比 ...

  4. LeetCode 409. 最长回文串(构造最长回文判断)

    最长回文串 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设字 ...

  5. LeetCode 409. 最长回文串

    给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设字符串的长度不 ...

  6. python【力扣LeetCode算法题库】5- 最长回文子串

    5. 最长回文子串 给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为 1000. 示例 1: 输入: "babad" 输出: "bab&quo ...

  7. LeetCode 409. 最长回文串(计数)

    1. 题目 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" 不能当做一个回文字符串. 注意: 假设字 ...

  8. 怎么判断一个字符串的最长回文子串是否在头尾_【Leetcode每日打卡】最长回文串...

    干货预警:所有文章都会首发于我的公众号[甜姨的奇妙冒险],欢迎watch. 一.来历: 力扣从3月开始开启了每日一题打卡活动,于是跟风加入了打卡大军,这两天写评论.发题解,没想到反响还不错,收到了来自 ...

  9. 2022-4-2 Leetcode 409.最长回文串

    第一版,不知道为啥有问题 记录所有的偶数,并且加上一个最大的奇数 class Solution {public:int longestPalindrome(string s) {int cnt = 0 ...

  10. 伍六七带你学算法 入门篇-最长回文串

    力扣解题,每日一题:409. 最长回文串 难度- 简单 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串. 在构造过程中,请注意区分大小写.比如 "Aa" ...

最新文章

  1. PHP和Node.js开发之间有什么区别
  2. NVIDIA cuda7在centos6.5中的安装
  3. 与众不同 windows phone (40) - 8.0 媒体: 音乐中心的新增功能, 图片中心的新增功能, 后台音乐播放的新增功能...
  4. TensorFlow(六)with语句
  5. python 去重_上来就情感分析?我还是先用python去去重吧!
  6. 创建型模式之工厂方法模式
  7. Windows防火墙添加80端口,解决apache无法访问的问题
  8. [转]20款Notepad++插件下载和介绍
  9. linux该专接本还是工作_先专接本还是先工作?
  10. 计算机编程语言分类与区别
  11. TensorFlow2学习笔记:3、鸢尾花数据集载入
  12. java读取txt文件乱码问题
  13. STM32一体化步进电机驱动器控制步进电机
  14. flash移植到android上,Flash Web Game移植到Android平台需要注意的地方
  15. linux mentohust dhcp,更换IP后,linux下mentohust无法认证成功?
  16. Global Tracking Transformers
  17. 登录页面(含后台)login.php
  18. 小李飞刀系列之Oracle EBS期间平均成本(PAC)--生产成本计算(一)基础
  19. wetool个人版_淘客干货:用了3年的wetool也没能幸免
  20. 我的世界服务器修改个人游戏模式吗,我的世界1period;12指令更改模式 | 手游网游页游攻略大全...

热门文章

  1. 【AI视野·今日CV 计算机视觉论文速览 第198期】Fri, 14 May 2021
  2. ktv数据表设计 1216
  3. 冒泡排序 实现数据的由大到小排序
  4. 自测目标 题库进度 0929
  5. request-爬取一张图片的练习-答案-私
  6. pip临时使用国内下载源,提高下载的速度
  7. django-django的开发流程
  8. linux-远程管理-xshell
  9. 一个页面,WEB全功能
  10. 取模(mod)与取余(rem)的区别——Matlab学习笔记