[题目] 给定一个字符串str,返回str中最长回文子串的长度 [举例] str="123", 1 str="abc1234321ab" 7 [暴力破解] 从左到右遍历字符串,遍历到每个字符的时候,以当前字符作为中心能够产生多大的回文字符串, 奇回文和偶 回文寻找方式不一样. 缺点:前面的寻找无法为后面的寻找提供任何帮助.没有记忆.加上记忆就好了. [Manacher] Manacher算法解决的问题是在线性时间内找到一个字符串的最长回文子串. 奇回文和偶回味在判断…
需求:给定一个字符串str,将str中连续两个字符为a的字符替换为b(一个或连续超过多个字符a则不替换) 如: a 不替换 b 不替换  ab 不替换 ba 不替换 aba 不替换  aab 替换为 bbb  baa 替换为 bbb  abaabaaabaa 替换为 abbbbaaabbb 中间三个a不作替换 源代码如下ReplaceTest.java: package com.test.zhipengs; /** * A Question * 给定一个字符串str,将str中连续两个字符为a的…
给定一个字符串 s,找到 s 中最长的回文子串.你可以假设 s 的最大长度为1000. 示例 1: 输入: "babad" 输出: "bab" 注意: "aba"也是一个有效答案. 示例 2: 输入: "cbbd" 输出: "bb" class Solution: def longestPalindrome(self, s): """ :type s: str :rtype:…
题目描述: 给定一个字符串,请将字符串里的字符按照出现的频率降序排列. 示例 1: 输入:"tree" 输出:"eert" 解释:'e'出现两次,'r'和't'都只出现一次.因此'e'必须出现在'r'和't'之前.此外,"eetr"也是一个有效的答案. 示例 2: 输入:"cccaaa" 输出:"cccaaa" 解释:'c'和'a'都出现三次.此外,"aaaccc"也是有效的答案.注意&…
package com.boco.study; /** * 题目详情 给定一个字符串,仅由a,b,c 3种小写字母组成. 当出现连续两个不同的字母时,你可以用另外一个字母替换它,如 有ab或ba连续出现,你把它们替换为字母c: 有ac或ca连续出现时,你可以把它们替换为字母b: 有bc或cb 连续出现时,你可以把它们替换为字母a. 你可以不断反复按照这个规则进行替换,你的目标是使得最终结果所得到的字符串尽可能短, 求最终结果的最短长度. 输入:字符串.长度不超过200,仅由abc三种小写字母组成…
题目:给定一个字符串里面只有"R" "G" "B" 三个字符,请排序,最终结果的顺序是R在前 G中 B在后. 要求:空间复杂度是O(1),且只能遍历一次字符串. 解析:本题的解法类似于快速排序partition算法,对于字符串str,利用两个下标start1,end1,start1初始时指向字符串的头部,end1初始时指向字符串的尾部,当str[start1]!='R',str[end1]!='B'时候,不能简单像原来的partition那样直接…
import java.util.Scanner; /*** * 1. 给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a,Z换成A,如aBf转换成bCg, 字符串内的其他字符不改变,给定函数,编写函数 void Stringchang(const char*input,char*output) 其中input是输入字符串,output是输出字符串 * * */ public class Test { public static void main(String[] a…
python练习:假设s是一个字符串,返回s中十进制数字之和.例如,如果s是‘a2b3c’,则返回5. 重难点:字符串转化为字符序列.in的多种应用.try-except代码块的使用. print("————————————————————————————") def sumDigits(s): sum=0 n=list(map(str,s))#这里是str不是char for i in n: try:#这里严格注意缩进 ']: sum=sum+int(i) except ValueE…
题目: 给定一个正整数,返回它在 Excel 表中相对应的列名称. 例如: 1 -> A 2 -> B 3 -> C ... 26 -> Z 27 -> AA 28 -> AB 29-> AC ... 52->AZ 需要的结果: 例如: 输入: 1 输出: "A" 输入: 28 输出: "AB" 输入: 701 输出: "ZY"整体思路:因为 题目 给的是 A = 1, 和 Excel 表格 A 是…
/** * 给定一个字符串,统计每个字符出现的次数. 如:abdaewrwqask435a1aasd */public class ReplaceString { static int length; public static void countString(String s) { while (s.length() > 0) { String oldStr = String.valueOf(s.charAt(0)); String newStr = s.replace(oldStr, &quo…