`
nickdine
  • 浏览: 45840 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

一个面试题寻找字符串连续重复次数最多的字符和个数

阅读更多
package i.tommy.test.Test;

import java.util.Arrays;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class matchers
{

	static String words = "ggggiuiiipppppaaaaahhhhddddd";

	public static void main(String[] args)
	{
		System.out.println(getLongs());
	}

	/*
	 * 返回连续单个字符出现最多次数的字符和个数
	 */
	public static String getLongs()
	{
		Pattern pattern = Pattern.compile("([a-zA-Z])\\1+");
		Matcher matcher = pattern.matcher(words);
		String word = "";
		while (matcher.find())
		{
			String index = matcher.group();
			if (word.length() < index.length())
			{
				word = index;
			}
		}
		
		return word.substring(0, 1) + "," + word.length();
	}
}
分享到:
评论

相关推荐

    Code_笔试题_字符串压缩_

    这是一个基于字符重复次数的压缩方法,如果连续出现的字符相同,那么就用该字符后跟其重复次数来表示。例如,原始字符串"aaabbcc"会被压缩成"a3b2c2"。这种压缩方式在存储空间有限或者需要高效传输数据时很有用。 ...

    消除字符串重复字母(栈实现)

    在本题中,将字符串转换为字符数组是为了更方便地遍历每个字符,并进行重复字母的检查和消除。 3. **栈数据结构**: - 栈是一种后进先出(LIFO,Last In First Out)的数据结构,常用于处理具有回溯性质的问题。在...

    java的面试题

    3. 如果遇到一个数字字符n,且后面还有字符,我们需要找到这个数字所代表的重复次数(n+1),并将后续字符重复n+1次添加到结果字符串中,同时在每组变换后插入一个下划线'_'。 4. 特殊情况,如果遇到下划线'_',则替换...

    面试题-python3将N(N1....docx

    - 查找字符串数组中的最长公共前缀:需要对字符串进行比较和查找最长相同前缀。 - 字符串消消乐:消除相邻相同字符,考察字符串遍历和条件判断。 - 连续输入字符串拆分:输入多个字符串,按照指定长度拆分并存储。 -...

    软件开发面试题集锦

    以上知识点覆盖了数组处理、字符串操作、算法优化和二分查找等在软件开发面试中经常出现的面试题。这些题目的解决方法不仅涉及基本的编程技巧,也包括对算法复杂度的考虑,如使用堆来进行N路合并操作,以及双指针...

    最新2年经验的Java面试题

    2. 遍历原字符串,对于每个字符,记录其连续出现的次数。 3. 当遇到不同的字符或者到达字符串末尾时,将当前字符及其出现次数添加到结果字符串中。 4. 重复步骤2和3直到遍历完整个字符串。 这种方法的时间复杂度为O...

    百度面试题大收集算法

    可以将URL字符串转化为哈希值,存储在一个哈希表中,新来的URL如果哈希值已存在则为重复。这种方法快速且有效,但需要注意URL的大小写和URL编码可能带来的影响。 3. **大整数的加减乘除**: 在计算机科学中,大...

    前端大厂最新面试题-算法.docx

    "前端大厂最新面试题-算法.docx"是一份集合了多种算法知识点和经典面试题的资源。本资源摘要将对标题、描述、标签和部分内容进行详细的知识点生成。 算法知识总结 * 排序算法:冒泡排序、选择排序、插入排序、希尔...

    python面试题超纲20道.docxpython面试

    给定一个包含一百万个数字的字符串,要求找出所有重复出现的连续三位数字及其重复次数。要实现这样的功能,一个线性时间复杂度O(n)的算法是必要的,其中n是字符串的长度。这个问题不能在常数时间O(1)内解决,因为...

    [第二部分]精选微软等公司结构+算法面试100题[41-60题]

    **解题思路**:可以使用动态规划的方法,定义一个变量记录当前连续子序列的和,如果加上下一个数后总和变小,则放弃当前连续子序列,从下一个数开始重新计算。 ### 第52题:二叉树中查找节点 **题目描述**:给定一...

    airbnb 软件工程师面试题

    - **概念解释**:编辑距离是指两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。 - **实现细节**: - 使用动态规划求解。 - 考虑插入、删除和替换三种操作。 #### Boggle Game(字谜游戏) - **游戏...

    编程之法:面试和算法心得-052320401

    5. **最大连续乘积子串**:求解字符串中最大连续子串的乘积,可以使用动态规划来避免重复计算。 6. **字符串编辑距离**:计算两个字符串之间的最小编辑距离,即最少的插入、删除和替换操作次数。 ### 第三部分:...

    十道海量数据处理面试题与十个方法大总结

    ### 十道海量数据处理面试题与十个方法大总结 #### 第一部分:十道海量数据处理面试题 **1. 海量日志数据,提取出某日访问百度次数最多的那个IP。** - **背景**: 给定一天的访问日志,目标是从这些日志中找到访问...

    微软Java面试题汇总(最新)

    - **速度优化**:可以使用双指针技术,一个指向字符串开头,另一个指向结尾,逐个交换字符直到两个指针相遇。 - **空间优化**:如果不能使用额外的空间,则直接在原数组上进行操作。 - **计数数字中的1位**: - *...

    《剑指Offer》题目及代码.pdf

    35. 第一个出现一次的字符:可以通过遍历字符串并记录每个字符出现的次数,再次遍历得到第一个唯一字符。 36. 数组中逆序对的个数:逆序对是指数组中一对数满足a[i] &gt; a[j],且i 。可以使用归并排序的改进版本来...

    C语言面试题总结汇总经典.pdf

    - **问题描述**:给定一个整型数组,求该数组的所有连续子数组中和最大的那个子数组的和。 - **解决方案**: - 使用动态规划的思想,设dp[i]表示以i结尾的最大子数组的和。 - 则dp[i] = max(nums[i], dp[i-1]+nums...

    程序员面试C++笔试题(附部分答案)

    - **知识点**: 查找字符串中最长连续重复子串的方法。 - **详细解释**: 给定一个字符串,如"ababc",任务是找出该字符串中最长连续重复子串。在这个例子中,"ab"是连续重复出现且最长的子串。 - **解决方案**: ...

Global site tag (gtag.js) - Google Analytics