找到含有n个不同字符的子串的最大长度
来源:互联网 发布:端口在线扫描 编辑:程序博客网 时间:2024/06/07 06:48
要求先输入字符串,再输入n的值,输出结果为:含有n个不同字符的子串的最大长度。
处理方法:从字符串第一个字符开始,依次取大于等于的子串,得到含有n个字符的子串,如果新的子串长度大于maxSubStr,则更新maxSubStr。程序中需要防止字符标号溢出异常和字符标号越界(n的值大于字符串长度)异常。代码如下:
import java.util.Scanner;public class MaxSubstringForN {private String str;private int n;void deal(){if(n>str.length()){System.out.println("子串的长度不能大于字符串的长度,重新输入");return;}String maxSubStr=str.substring(0,n);for(int i=0;i<str.length()-1;i++){int j=i+n;if(j<str.length()){ String tmp=str.substring(i, j); while((j<str length="" -1="" tmp="" indexof="" str="" charat="" j="">=0) {tmp=str.substring(i, ++j); } if(tmp.length()>maxSubStr.length()) maxSubStr=tmp;}} System.out.println(str+"含有"+n+"个字符的最大子串为:"+maxSubStr+"其长度为: "+maxSubStr.length());}public static void main(String[] args) {MaxSubstringForN mn=new MaxSubstringForN(); Scanner sc=new Scanner(System.in); mn.str=sc.nextLine(); mn.n=sc.nextInt(); mn.deal(); }}
0 0
- 找到含有n个不同字符的子串的最大长度
- Java编程:合并字符串并排序:判断丑陋数:找到最多含有n个不同字符的子串的最长长度
- [Google] 字符串中求最长的子串,该子串最多只含有2个不同的字符
- 根据字典排序找到下一个由n个不同字符组成的序列
- 【codeforces 676C】 【尺取法】【从一个ab序列中最多改变k个字符找到最长的连续a子串或者b子串长度】
- 从一个ab序列中最多改变k个字符找到最长的连续a子串或者b子串长度.【尺取法】
- 求n个字符串的最大相同子串
- K个不同字符的最长子串
- N个降序数组,找到最大的K个数
- python 找到最大或最小的N个元素
- N个降序数组,找到最大的K个数
- linux: 找到磁盘/目录中最大的n个文件
- 给定字符串str1和str2,求str1中子串含有str2所有字符的最小子串长度
- 【HDU5559 2015合肥赛区H】【观察找规律 构造】Frog and String 用最多k个字符构造长度为n的m不同回文串的串
- 求n个字符的长度为m的组合
- n个字符的m长度的组合
- 对称子串的最大长度
- 求最大回文子串的长度
- Codeforces Round #375 (Div. 2)A. The New Year: Meeting Friends(水题)
- 面向对象多态之接口
- 关于问题short s1 = 1; s1 = s1 + 1;出现编译错误,而 short s1 = 1; s1 += 1;不出现编译错误。
- 回调函数
- ios利用短信SKD实现短信验证(使用mob网站提供的免费接口)
- 找到含有n个不同字符的子串的最大长度
- Codeforces Round #375 (Div. 2) B. Text Document Analysis(字符串处理,简单题目)
- java与mysql
- 投资分析框架
- 10.2弱校题解
- [LeetCode]--136. Single Number
- 【微信开发】-发送位置获取周边信息, 主要代码在private function receiveLocation($object)
- 括号匹配
- springmvc请求问题