leetcode题解-409. Longest Palindrome

LeetCode --- 409. Longest Palindrome 解题报告 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 consi... 阅读详情

题目: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.

思路:通过题目我们可以看出要求的就是字符串s中有多少个字符出现了偶数次,多少个字符出现了奇数次。进一步可以简化为对每个字符每出现两次都加2,然后剩下的都是出现一次的,再加个一即可(思路二)。
接下来直接看代码即可。

这种方法击败了60%的用户

    public int longestPalindrome(String s) {
        int[] tmp = new int[128];
        int res = 0;
        boolean symbol = false;
        for(char c : s.toCharArray())
            tmp[(int)c] += 1;
        for(int a : tmp){
            if(a%2 == 0)
                res += a;
            else if(a>0){
                symbol = true;
                res += a-1;
            }
        }
        if(symbol == true)
            res += 1;
        return res;
    }

使用思路二可以省去对tmp数组的遍历,从而节省了很多时间。击败了93%的用户。

    public int longestPalindrome3(String s) {
        boolean[] map = new boolean[128];
        int len = 0;
        for (char c : s.toCharArray()) {
            map[c] = !map[c];         // flip on each occurrence, false when seen n*2 times
            if (!map[c]) len+=2;
        }
        if (len < s.length()) len++; // if more than len, atleast one single is present
        return len;
    }
Leetcode 409:最长回文串(超详细的解法!!!) 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 "Aa" 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 输入: "abccccdd" 输出: 7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。 解题思路 思路比较简单,回文串必然对称,那么只需要统计字符串中每个字符出现的次数,每两个相同的字符消除,例如: a: 1 b: 1 c: 4 消除4 d: 2 消除2 那么可以消除6个字符。 最后还需判断可不可以是奇数长度回文串,如果消除字符的个数和原字符串长度 立即下载

相关推荐

GEO数据库数据下载方法总结

#GEO数据下载 GEO是生信分析经常用到的数据库。经常需要从中获取表达矩阵,平台信息,meta信息等,本博文总结了几种下载GEO数据的方法,各有优劣,实际应用过程中自行选择适合自己的。 ##方法一:直接从浏览器中下载 以数据集GSE1001为例, 可以直接点击“Series Matrix Files”获取该样本txt格式的表达谱数据,一般我们认为这种处理过的表达谱数据是没有问题的,当然,具体情况具体分析。 打开下载的文件可以看到许多“#”开头的行,这些是注释信息,一般关注这些注释信息中的“data pr

sakoko_的博客 4万+

LeetCode 409—— 最长回文串

然后如果某个字符出现了偶数次,那么回文串长度就增加这个字符出现的次数;如果某个字符出现了奇数次,那么回文串长度也只能增加小于这个奇数次的最大偶数。要想组成回文串,那么只有最中间的字符可以是奇数个,其余字符都必须是偶数个。最后,如果存在奇数个的字符,那么中间可以放一个期数字符,回文串长度加 1。所以,我们先遍历一遍字符串,统计出每个字符出现的次数。

seniusen的博客 444

不只是CPU主频:深入解析英飞凌Aurix TC3xx各外设时钟树(CAN、以太网、Flash时序如何配置)

本文深入解析英飞凌Aurix TC3xx系列微控制器的外设时钟树配置,涵盖CAN、以太网和Flash时序的优化方法。通过详细分析时钟系统架构、关键外设配置及多外设协同设计策略,帮助工程师实现高性能汽车电子控制单元(ECU)开发。特别关注系统时钟的灵活配置与EMC优化技巧,提升系统实时性和可靠性。

weixin_29189373的博客 400

LeetCode 409——最长回文串

1. 题目 2. 解答 我们先来看一看回文子串的规律,如果回文子串的长度为偶数,那么其中所有的每个元素都出现了偶数次;如果回文子串的长度为奇数,那么有一个元素出现了奇数次而其余每个元素都出现了偶数次。 所以我们需要做的就是遍历一遍字符串,统计每个元素出现的次数。这里只有大写字母和小写字母,我们用一个大小为 52 的数组充当散列表即可。 最后我们就可以得出偶数的元素有多少个,再看看有没有多余的一个...

seniusen的博客 352

达梦--利用存储过程与定时任务实现数据自动迁移

本文详细介绍了在达梦数据库中如何结合存储过程与定时任务实现数据自动迁移。通过一个电商订单归档的实战案例,阐述了从设计表结构、编写具备异常处理和幂等性的存储过程,到配置DBMS_SCHEDULER定时任务的全流程。该方法能有效替代手动脚本,确保数据同步任务的稳定、准确与自动化执行,适用于报表准备、数据备份等多种场景。

weixin_29261711的博客 430

硬件基础——mos管

文章目录前言一、寄生参数二、使用步骤1.引入库2.读入数据总结 前言 MOS管设计重点 一、寄生参数 1.寄生电容 mos管有寄生电容Cgs,此电容大小一般为pF级别,一般规格书可以查到。 使用时,要特别注意GS管教的寄生电容Cgs,控制MOS管的导通与截止,本质上是控制Cgs电容的充放电。(最好要加限流) 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyplot as plt imp

Malqaq的博客 6596

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

最长回文串 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。 在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 输入: “abccccdd” 输出: 7 解释: 我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。 看题解得,简单题也不简单。 该题并不是寻找最长回文子串,是用给出得字符串来重新排列组合成一个最长得回文字符串。 大概意思是: 回文数必须要满足得条件是最多有一个字符.

qq_46110320的博客 2178

泛微OA与金蝶云星空深度集成实战:审批与表单双场景解析

本文深入解析泛微OA与金蝶云星空的深度集成实战,聚焦审批流程与表单对接两大核心场景。通过具体案例,详细阐述了如何实现业务数据与审批流程的自动联动,打破数据孤岛,提升企业运营效率与数据一致性,并分享了接口设计、安全策略及实战避坑指南。

4k5l6j7h8的博客 466

【LeetCode】409. 最长回文串(js 实现)

1、题目:409. 最长回文串 - 力扣(LeetCode) (leetcode-cn.com) 2、实现 (1)总体思路: 将字符串中所有的字母的个数,以键值对的方式记录下来,可以用Map对象也可以用{}对象; 遍历这个键值对对象,然后判断每个字母的个数,如果是偶数,就直接计数;如果是奇数,那要先减去1,将奇数变为偶数进行计数。 回文串的中间可以有一个单独的字母作为中心,所以在对偶数累计计数结束后,可以再加1,作为最后的长度。 (2)用Map对象实现,代码如下: /** * @par.

在热爱技术的路上一直前行。 586

道闸不自动落杆故障排查:从传感器原理到控制器调试全解析

在工业自动化和物联网系统中,传感器与控制器构成的闭环控制是保障设备可靠运行的核心。其基本原理是通过传感器采集环境状态,控制器依据预设逻辑做出决策并驱动执行器动作。这一技术价值在于实现了无人值守下的安全、高效自动化,广泛应用于智能交通、安防和智能楼宇等领域。以停车场道闸系统为例,其自动落杆功能高度依赖地感线圈与防砸雷达的协同。地感线圈作为触发单元,负责感知车辆接近;而防砸雷达则作为持续监测的安全单元,通过微波探测防砸区域内是否有障碍物,其信号是控制器执行落杆决策的关键依据。当系统出现车辆通过后闸杆不落的典型故

weixin_29190651的博客 311

C#上位机国产化适配全方案:兼容统信UOS+鲲鹏/昇腾+国产PLC,可直接交付国企项目

去年下半年,我帮天津滨海新区一家给一汽丰田做配套的汽车零部件国企,完成了3条产线、12套C#上位机的全栈国产化适配。这个项目的背景很典型,也很戳中国企客户的命门:一开始客户找了两家本地的集成商,都没搞定:第一家只会用.NET Framework,根本不知道怎么在统信UOS上跑C#;第二家勉强用.NET Core 3.1跑起来了,但和汇川国产PLC的通信丢包率高达1.2%,产线根本不敢用。我们接手后,用了2个月完成全栈适配:从Windows Server 2019迁移到统信UOS 1070d服务器版,从.NE

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 498

LeetCode——409.最长回文串(Java)

统计每个字母的个数,如果是偶数就放两边,如果是奇数就放中间,但是只能放一个奇数。 代码如下: 基本每步都有解释,如果有疑问请留言 package LeetCode.OneToFiveHundred; public class FourHundredAndNine { public int longestPalindrome(String s) { //统计每个字母的个数,如果是偶...

Rabbit-Sir的博客 182

Yolov5自定义图片训练测试及模型调优(详细过程)

Yolov5自定义数据训练及测试1. 图像数据获取、标注2. 数据集划分及准备3. 配置训练参数,准备训练:3.1 修改data/训练配置xxx.yaml文件:3.2 修改models模型配置xxx.yaml文件4. 开始训练5. 测试训练后的模型: 1. 图像数据获取、标注 如果自定义训练自己的数据集,首先需要数据标注,至于数据来源可以是下载现有的开发数据集、拍照、爬虫等等。 如果是拍照、爬虫等获取的数据图片,需要进行数据标注,这个过程可以使用工具来做,但也需要一些手动操作 。。并且图片越多越好,如果

HowieXue 薛永浩的博客 10万+

LeetCode 409. Longest Palindrome 题解(C++)

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

prayyojay的博客 1199

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Leetcode PHP题解--D116 409. Longest Palindrome

D116 409. Longest Palindrome 题目链接 409. Longest Palindrome 题目分析 返回通过给定的字符串能组成的最长回文字符串长度。 思路 用array_count_values计算字母出现次数。再区分出现次数为偶数的字母和奇数次数的字母。用array...

263

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

LeetCode //C - 409. Longest Palindrome

【代码】LeetCode //C - 409. Longest Palindrome。

Made in Code 1030

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

【leetcode】409. Longest Palindrome

problem 409.Longest Palindrome solution1: class Solution { public: int longestPalindrome(string s) { map<char, int> temp; for(auto it:s) temp[it]++; int ev...

weixin_30919919的博客 234

【Leetcode】409. 最长回文字符串(Longest Palindrome)

Leetcode - 409 Longest Palindrome (Easy) 题目描述:求给定字符串中的字符能够组成最长字符串的长度。 Input: "abccccdd" Output: 7 Explanation: One longest palindrome that can be built is "dccaccd", whose length is 7. public int l...

厉兵秣码 281

[LeetCode]409. Longest Palindrome

[LeetCode]409. Longest Palindrome题目描述思路统计字符重复出现次数,然后将重复出现次数除以2向下取整,结果乘2。计算所有重复字符的结果后和远字符串长度进行比较,若小于远字符串,将结果加1,回文串最中间的字符可以是一个单独出现的字符。代码class Solution { public: int longestPalindrome(string s) {

Lcharon的博客 3193

【Leetcode】409. Longest Palindrome

class Solution1: def longestPalindrome(self, s: str) -> int: """ if a char appear even times , it will contribute all to palindrome , if a char appear odd times, we ...

很吵请安静 356

LeetCode 409. Longest Palindrome (Java版; Easy)

welcome to my blog LeetCode 409. Longest Palindrome (Java版; Easy) 题目描述 Given a string which consists of lowercase or uppercase letters, find the length of the longest palindromes that can be built wi...

littlehaes的博客 408

409. Longest Palindrome*

409. Longest Palindrome* https://leetcode.com/problems/longest-palindrome/ 题目描述 Given a string which consists of lowercase or uppercase letters, find the length of the longest palindromes that can be ...

珍妮的选择的博客 308

LeetCode-409. Longest Palindrome [C++][Java]

Given a stringswhich consists of lowercase or uppercase letters, returnthe length of thelongest palindromethat can be built with those letters. Letters arecase sensitive, for example,"Aa"is not considered a palindrome here.

贫道绝缘子的博客 528

leetcode 409. Longest Palindrome 最长回文串

leetcode 409. Longest Palindrome 最长回文串 leetcode 2020年3月 每日一题打卡 题目: 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。 注意: 假设字符串的长度不会超过 1010。 示例 1: 输入:“abccccdd” 输出:7 解释:我们可以构造...

weixin_43973433的博客 302

Leetcode 409 Longest Palindrome

Leetcode 409 Longest Palindrome class Solution { public int longestPalindrome(String s) { int[] count = new int[128]; for (char c: s.toCharArray()) count[c]++; ...

weixin_43876597的博客 138

leetcode 409. Longest Palindrome

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

淡然坊 280
上一篇: leetcode题解-438. Find All Anagrams in a String
下一篇: leetcode题解-49. Group Anagrams
liuchongee
博客等级 码龄14年 1099粉丝 206原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值