文档章节

java 找出数组中的最大回文字符串

下雨天不打伞才怪
 下雨天不打伞才怪
发布于 2017/04/23 11:06
字数 238
阅读 8
收藏 0
/**
 * Created by Administrator on 2017/4/23.
 * 找出一个数组中的最大回文字符串
 * 思路:1,遍历每个字符,从第一个到最后一个。for()
 * 2.以当前字符为基准点,向左向右延伸,看左右是否相等[注意基数回文与偶数回文判断方法不一样]。for(j)
 * 3.遇到不相等的时候,把回文长度赋值给current,比较current与max,用break跳出循环
 * 4.返回值
 */
public class Synonym {
    public String circuit(String str){
        int current=0;
        int max=0;
        String biggest=" ";
        for(int i=0;i<str.length();i++){
            for(int j=0;j+i<str.length()&&i-j>=0;j++)
            {if(str.charAt(i-j)!=str.charAt(i+j)) {
                current=2*j-1;
                if(current>max){
                    max=current;
                    biggest=str.substring(i+1-j,i+j);
                }
                break;
            }
            }
            for(int j=0;j+i+1<str.length()&&i-j>=0;j++){
               if(str.charAt(i-j)!=str.charAt(i+1+j)){
                   current=2*j;
                   if(current>max){
                       max=current;
                       biggest=str.substring(i+1-j,i+1+j);
                   }
                   break;
               }
            }
        }
        return max+"   "+biggest;
    }

    public static void main(String[] args) {
        Synonym sy=new Synonym();
        System.out.println( sy.circuit("aabbbcccdddccbb"));
    }
}

© 著作权归作者所有

共有 人打赏支持
下雨天不打伞才怪
粉丝 0
博文 12
码字总数 4093
作品 0
武汉
私信 提问
LeetCode:Valid Palindrome - 回文字符串

1、题目名称 Valid Palindrome(回文字符串) 2、题目地址 https://leetcode.com/problems/valid-palindrome/ 3、题目内容 英文:Given a string, determine if it is a palindrome, consid......

北风其凉
2015/08/05
0
0
算法和编程面试题精选 TOP50!(附代码+解题思路+答案)

作者 | javinpaul 出品 | AI科技大本营 数组 数组,将元素存储到内存的连续位置中,是最基本的数据结构。在任何和编程相关的面试中,都会被问到和数组相关的问题,可以说是非常热门的考题之一...

CSDN资讯
2018/10/02
0
0
算法和编程面试题精选TOP50!(附代码+解题思路+答案)

作者 | javinpaul 编译 | 王天宇、Jane 整理 | Jane 出品 | AI科技大本营 【导读】之前我们给同学们推荐了很多关于 Python 的面试资源,大家都表示很有用。这次营长表示要翻 Java 的牌子啦~...

AI科技大本营
2018/09/27
0
0
【翻译】Java中String, StringBuffer, StringBuilder的区别

String 是 Java 中最重要的类之一,并且任何刚开始做Java编程的人,都会用String定义一些内容,然后通过著名的System.out.println()语句来打印出来。 然而,很多Java新手都不会意识到 String...

YuanyuanL
2014/09/03
0
4
05《Java核心技术》之三种字符串类有什么区别?

一、提出问题 今天,我们来聊聊日常使用的字符串,别看它似乎很简单,但其实字符串几乎在所有编程语言里都是个特殊的存在,因为不管是数量还是体积,字符串都是大多数应用中的重要组成。 今天...

飞鱼说编程
2018/09/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

生产者消费者问题(PV操作)

一、明确定义 要理解生产消费者问题,首先应弄清PV操作的含义:PV操作是由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):①将信号量S的值减...

shzwork
26分钟前
0
0
重新认识网络通信协议

OSI网络分层 应用层 http, smtp,pop3这些都属于应用层协议 为用户的应用程序提供服务 表示层 确保一个系统的应用层发送的信息被另一个系统的应用层接收到 会话层 通过传输层建立数据传输的通...

最胖的瘦子
37分钟前
1
0
【转】分布式数据流的轻量级异步快照

本篇翻译自论文:Lightweight Asynchronous Snapshots for Distributed Dataflows,Flink的容错快照模型即来源于该论文。原文地址:https://arxiv.org/pdf/1506.08603.pdf 分布式数据流的轻量...

yiduwangkai
40分钟前
0
0
java使用反射机制设置私有成员变量的值

写一个方法:public void setProperty(Objectobj, String propertyName, Object value){}, 此方法可将obj对象中名为propertyName的属性的值设置为value。(这里不知道obj对象的propertyNam...

群星纪元
46分钟前
0
0
用 Tapestry 的方式在页面模板中加入注释

<span jwcid="$remove$">这里是注释</span>

LeoXu
46分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部