`
1140566087
  • 浏览: 548537 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18103
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309843
Group-logo
J2ME 基础学习课程集
浏览量:18070
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17218
社区版块
存档分类
最新评论

字符串处理 字串问题

阅读更多
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;


//字符串的处理
public class StringAction {
	public static void main(String[] args){
		f();
	}
	
	//题目:一个字符串中,哪个子串(长度要求大于等于2)重复出现次数最多,如果有多个子串重复次数相同,取长度最大的子串。
	// 1、求出所有的字串
	// 2、找出对应字串在字符串中出现的次数
	// 3、在所有的次数中找出最大值
	// 4、根据最大值找出对应的字符串
	// 分步思想 , 一步步解决问题   详细解剖解题
	public static void f(){
		String str = "abcfabcdabce";
		ArrayList<String> list = new ArrayList<String>();
		for(int i=0;i<str.length();i++){
//			System.out.println("i 的值为:"+i);
			for(int j=2;j<str.length()-i+1;j++){
//				System.out.println("j 的值为:"+j+" 此时截取的字段为:"+str.substring(i,j+i));
				list.add(str.substring(i,j+i));
			}
		}
		Map<String,Integer> sum = new HashMap<String,Integer>();
		for(int i=0;i<list.size();i++){
//			System.out.println("此时用于比较的值为:"+list.get(i));
			String temp = list.get(i);
			int index = 0;
			for(int j=0;j<list.size();j++){
				//出现一次加一次
				if(list.get(j).equals(list.get(i))){
					index++;
				}
			}
//			System.out.println(temp+":出现的总次数为:"+index);
			sum.put(temp, index);
		}
		//取最大值
		int maxValue = sum.get(list.get(0));
		for(int i=0;i<sum.size();i++){
//			System.out.println("此时的值:"+sum.get(list.get(i)));
			if(sum.get(list.get(i))>maxValue){
				maxValue=sum.get(i);
			}
		}
		//存储有最大值的字串
		ArrayList<String> a = new ArrayList<String>();
		for(int i=0;i<sum.size();i++){
			if(sum.get(list.get(i))==maxValue){
//				System.out.println(list.get(i));
				a.add(list.get(i));
			}
		}
		// 取长的
		int length = a.get(0).length();
		String value = null;
		for(int i=0;i<a.size();i++){
			if(a.get(i).length()>length){
				value=a.get(i);
			}
		}
		
		System.out.println("最大的字串为:"+value+" 出现的次数为:"+sum.get(value));
		
	}
}
//求这个题目的优化解
0
0
分享到:
评论

相关推荐

    java 编写的字符串处理程序

    其中本程序包含获取字符串的长度,寻找字符串中的字符,寻找字符串中的字串,连接字符串,字符串的比较等。并且本程序包含菜单选项

    java字符串基本处理工具类

    java字符串处理的util工具类,也可以同时添加一些其他字符处理的方法,对于项目中特殊字符处理,完成项目中基本的字串符处理。

    VC字符串处理

    VC CString的常用操作,包括查找,插入,格式化,截取字串等,适合新手入门参考。

    KMP算法与传统字符串搜索算法对比分析-C语言

    很明显的这就是一个字符串匹配问题。所以我先用一个传统的字符串比较方法来实现,为了提高效率,考虑到字符串匹配较好的算法有Brute force(暴力搜索)其预处理时间为O(0),匹配时间复杂度O(N*M);KMP的预处理...

    C#字符串处理的相关操作

    全面说明C#对字符串的处理

    字符串处理

    用来删除一段字符串的字串,统计字符串的长度,字符串中英文字母,数字,空格数

    在ListBox快速搜寻字符串(5KB)...

    VB之文件处理精彩编程-在ListBox快速搜寻字符串(5KB)

    字符串截取(C)

    对字符串进行处理,能够截取字串中指定位置,指定长度的字符。 编译语言: C 编译器: C-Free 初级水平,仅供参考

    文本文件字符串处理 MFC

    2、 对指定的文本文件进行读操作,将每一行字符串保存到一个动态空间中(可用地址指针数组或链表,也可用STL,这个随便),并显示出该文本文件的行数,最好是显示到一个编辑框中,也可以用提示框显示;(30) 3、 ...

    网页字符串处理函数(指定长度)

    在asp网页中如果文字的宽度太长,就会使页面变形,必须将文字截取提定长度,vbscript中的字符处理函数是不区分(中/英),如此一来就必须自行编写一个函数来处得中英文混合字串的情况,此处用了一个简单的解决办法。

    C# XML字符串包含特殊字符的处理转换方法小结

    本文介绍的正是如何使用C#判断XML字符串是否含特殊字符并进行转换。 以下是几个特殊字符的对应实体。 &lt; &lt;  小于号 &gt; &gt;  大于号 &amp; & 和 &apos; ‘ 单引号 &quot;...

    头歌数据结构数据结构—字符串

    后来随着计算机的发展,非数值型数据的处理工作越来越多,于是有了字符串的概念。例如,在搜索引擎中输入“数据结构”,在浏览器中会出现与“数据结构”相关的关键词,这就是字符串匹配操作。 通过本实践项目的训练...

    asp.net 常用字符串处理方法

    fox.ToLower()转化成小写字母 fox.ToUpper()转化成大写字母 fox.Trim()删除前后空格 fox.Trim(trimChars)删除其它字符 fox.TrimStart()删除前空格 fox.TrimEnd()删除后空格 fox.PadLeft(10)增加左边空格,使字串达到...

    字符串中数字子串求和

    文章目录字符串中数字子串求和数字子串求和算法思路相应代码 字符串中数字子串求和 数字子串求和 【题目】 给定一个字符串s,求其中全部数字串所代表的数字之和。...考虑逻辑分析能力和边界处理问题

    点睛字串替换器V1·06

    本软件是一个本地化工具,主要用于非资源格式的本地化工作,支持的种类包括非资源格式的 C 编译的程序中的 ASCII 字符串和 UniCode 字符串、非资源格式的 Delphi(C++ Builder)编译的程序的字符串、VB 编译的程序的...

    Shell学习笔记07–字符串与文本行处理命令总结

    文件搜索命令:grep 语法:grep -iv [指定字串] [文件] 功能描述:在文件中搜索字串匹配的行并...语法:cut -d '分隔字符串' -f fields #用于有特定分隔字符  cut -c 字符区间 #用于排列整齐的信息 选项参数: -d 

    C++語言中的字串處理

    9.1 字串的基本概念 9.2 字串的輸入與輸出 9.3 字串的處理 9.4 字串的指標陣列 9.5 字串處理在編碼上的應用 9.6 常犯的錯誤

    Delphi日期转换成字符串

    摘要:Delphi源码,字符处理,日期转换,字符串 Delphi如何将日期转换成字符串呢?Delphi新手可参考的一个代码,源代码在Delphi中可完美编译运行,如示例截图所示。程序将借助Excel2000中的相关组件实现。 运行环境:...

    基于Mask-RCNN无分割手写数字字符串的识别

    针对现有基于过分割的手写体数字字符串识别算法的复杂度较高,以及基于无分割算法无法识别4位及以上长度字符串和准确率较低的问题,提出了基于掩模区域神经网络(Mask-RCNN)的无分割手写数字字符串的识别算法。...

    PHP编程中字符串处理的5个技巧小结

    字符串 注意单引号和双引号的区别 注意转义字符\的使用\\,\”,\$ 注意使用8进制或16进制字符表示 \xf6 echo “H\xf6me”;//需要察看是否支持此类文字编码 ———————输出结果—————————————- H鰉e...

Global site tag (gtag.js) - Google Analytics