序
正文主要记录leet代码的最长回字符串
题目
指定包含大小写的字符串,然后查找由这些字符组成的最长的回文字符串。在构建过程中请注意区分大小写。 例如,“Aa”不能用作回文字符串。
注意:
假设字符串长度不超过1010。
样本1:
输入:
'宏碁光盘'
输出:
7
说明:
我们能构建的最长的回文列是“dccaccd”,其长度为7。
资料来源:力量按钮(leet代码)。
链接: https://leet代码- cn.com /问题/长导线
版权归互联网所有。 商业转载请联系官方许可证。 非商业转载请注明出处。
题解
类解决方案publicintlongestpalindrome{
地图角色,整合子地图=新地图(;
for(charc:s.tochararray () ) ) ) ) ) ) ) )。
计数地图(c,计数地图.获取预设(c ) c,0 ) 1;
}
int结果=0;
for (整数值:计数映射.值() ) ) ) ) ) ) ) )。
if (值%2==0) {
结果=结果值;
}else{
结果=结果值/2* 2;
if (结果%2==0) {
结果;
}
}
}
返回结果;
}
}
小结
在这里,首先让我们统计一下各个文字的个数。 然后,对偶数个直接累积,对奇数个首先累积偶数部分,最后判断结果是否为偶数。 如果是偶数,剩下的奇数可以计算。