/*
1. 一个字符串参数(value)由字母(a-z,A-Z)组成,且最大字符位数为40,
要求写一个函数(maxLength)返回该参数中连续相同字母的最大个数及该字母,
如果最大位数有多个,则返回第一个。例:字符串“aaaddxxxxddddxxxx”,返回值为:“x,4”。
要求:请考虑代码执行的效率并注意编码的风格。
注意:此题特征是连续的相同字母,这里注重的是效率,那么我们可以极大的损失空间来换取效率的提高
思路,一组一组的截取出来
*/
//package com.ricky.www;
public class Test{
public static void main(String[] args){
String content = "aaaddxxxxddddxxxx";
int max = 0;
String result = null;
String after = null;
int count = 0;
while(content.length() != 0){
after = content.replaceAll("^(\\w)\\1*",""); //把拥有连续结构的匹配为空,区别于(^(\\w)(?=\\1*))它将以字母开头且后面有连续结构字符串的第一个字母替换为空,(^(\\w)(?=\\1))它也是将第一个字符替换为空,因为在一个字符串中开头的字母是独一无二的,^是代表原始字符串的开头,并不会因为replaceAll而相应的调整开头的含义
count = content.length() - after.length(); //替换为空的那段长度
if(count > max){
max = count;
result = content.substring(0,1); //当前字符串的第一个字符
}
content = after;
}
System.out.println(result + " , " + max);
}
}
法二:
public static void main(String[] args) {
String s = "aaaaaddxxxxdddvvvvvvvvvvvvvvvvvvvvddxxxx";
Pattern p = Pattern.compile("(.)\\1+");
Matcher m = p.matcher(s);
int max = 0;
char c = ' ';
while (m.find()) {
if (max < m.group(0).length()) {
max = m.group(0).length();
c = m.group(0).charAt(0);
}
}
System.out.println("字母:" + c + " " + "次数:" + max);
}
分享到:
相关推荐
VUE 面试题汇合 vue-interview-questions-master VUE 面试题汇合 vue-interview-questions-master VUE 面试题汇合 vue-interview-questions-master VUE 面试题汇合 vue-interview-questions-master VUE 面试题...
【标题】"interview-docs-master.zip" 是一个压缩文件,通常包含一系列关于面试准备的文档,特别是针对Java程序员的面试资源。这个压缩包可能是为了帮助求职者在寻找Java开发职位时,熟悉并掌握常见的面试问题和解答...
123-Essential-JavaScript-Interview-Question, JavaScript访问问题 123 -JavaScript-Interview-Questions这本书将由 2018年06月 完成并可以供购买。 如果你想让我把这本书的早期拷贝,请在这里添加你的NAME 和电子...
标题中的"Interview-code-practice-python-master_escapek5u_python_"暗示了这是一个关于Python编程的面试题练习项目,可能包含了各种常见的编程题目,旨在帮助开发者准备技术面试。"escapek5u"可能是创建或整理这个...
本压缩包中的"coding-interview-university-master"目录,很可能是包含了一个逐步学习算法和数据结构的课程结构,这对于准备技术面试,尤其是硅谷流行的“编程面试”极其有价值。 学习算法,首先要理解基础的数据...
这份名为"Interview-Materials.rar__interview_interview-q"的压缩包文件显然是为准备IT行业面试者精心准备的一份资源集合。它涵盖了C、C++以及Linux等多个关键领域的知识,帮助求职者一站式获取必要的面试准备材料...
"Algorithm_for_Interview-Chinese-master.zip" 这个压缩包文件很可能包含了丰富的面试准备资料,聚焦于C++语言,涵盖了多种核心算法和概念。让我们深入探讨一下这些关键知识点。 1. **查找与排序**: - **查找...
"Java-Interview-超全集合github上评分最高的jiva面试题"就是一个这样的宝藏,它涵盖了Java编程语言、Git版本控制工具以及面试策略等多个方面的知识点。以下是这些内容的详细解析: 1. **Java基础** - **数据类型...
Technical-Interview-Preparation-Checklist.pdf
深度学习框架001 深度学习框架有哪些?002 介绍一下TensorFlow常用的Optimizer003 Caffe的depthwise为什么慢,怎么解决00
115-Java-Interview-Questions-and-Answers, 115 Java访谈问题和答案- 终极列表 #115-Java-Interview-Questions-and-Answers我们将讨论关于Java面试中可以使用的各种问题,以便雇主在Java和面向对象编程方面测试你的...
java面试题_java-interview-questions-master.zip2、在 Java 程序中怎么保证多线程的运行安全? 出现线程安全问题的原因一般都是三个原因: 1、 线程切换带来的原子性问题 解决办法:使用多线程之间同步...
DOCKER-INTERVIEW-QUESTIONS.pdf
《深入解析Interview-main源码》 在编程领域,面试是检验开发者技能的重要环节,而"Interview-main-源码.rar"这个压缩包很可能包含了常见的面试题目和相关问题的解答,以及可能的实现源代码。这份源码是开发者们...
Java interview-高级Java面试题2019_java-interview.zip
考研保研简历提问助手-GLM4_Postgraduate-Interview-Question-Assistant
java服务端面试题整理_java-server-interview-questions.zip
java面试资料_java-interview-lzj
"frame-project-interview-master.zip" 这个文件名暗示了一个与软件开发相关的项目,特别是面试准备或框架实践。"frame"可能指的是编程框架,如Spring、Angular或者React,而"project-interview"则可能表示这是一个...
0基础知识资料 1.Java基础csdn-sty945.pdf 2计算机网络csdn-sty945.pdf 3计算机操作系统csdn-sty945.pdf 4数据库系统原理csdnsty945.pdf 1笔试资料 2-其他 img readme.md