C#控制台程序,怎么查找重复子串?

编写控制台应用程序,判断用户输入的字符串中是否存在重复的由两个小写字母组成的子串,如果有则按从左到右的出现顺序输出重复出现的子串及次数;如果用户输入的字符串中包含非小写字母则输出“lnputting illegal characters”。

输入格式:

输入字符串

输出格式:

每行输出一个重复出现的子串及出现的次数,子串与次数之间用一个空格隔开。

例如

输入:

aaabbaabb

输出:

aa 2

ab 2

ba 2

希望大佬能给解释详细点,谢谢!

2个回答

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace Q704577
{
    class Program
    {
        static void Main(string[] args)
        {
            string input = Console.ReadLine();
            if (!input.All(x => x >= 'a' && x <= 'z'))
            {
                Console.WriteLine("lnputting illegal characters");
                return;
            }
            var lookups = Enumerable.Range(0, input.Length - 3).Select(x => input.Substring(x, 2)).Distinct();
            var query = lookups.Select(x => new { a = x, b = Regex.Matches(input, x).Count }).Where(x => x.b >= 2);
            foreach (var item in query)
            {
                Console.WriteLine("{0} {1}", item.a, item.b);
            }
        }
    }
}

图片说明

如果问题得到解决,请点我回答右边的采纳,谢谢

qq_23126581
渊渟无迹静涛君 回复qq_43478906: 哪里不对你都是说啊,是自己没有描述清楚题目?别人很认真给你回答。
一年多之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复qq_43478906: 你把题意解释下,或者你把跑不过的数据贴出来,这样总可以吧
一年多之前 回复
qq_43478906
qq_43478906 回复caozhy: 你大概没懂题意
一年多之前 回复
qq_43478906
qq_43478906 回复caozhy: 不用啦,你的代码不对,换组数据就跑不过了。
一年多之前 回复
caozhy
每个人都有一个梦才不会孤单的说话就有天堂 回复qq_43478906: 好的,采纳后重新开一个问题,详细回答你。
一年多之前 回复
qq_43478906
qq_43478906 谢谢
一年多之前 回复
qq_43478906
qq_43478906 能解释一下var lookups 后面的代码吗?
一年多之前 回复

用一个dictionary自己可以做下判断;这种问题最好的方式是自己思考;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问

相似问题

2
C#windows窗体设计器将控件设置Anchor为Bottom,或者带着Bottom。只要页面刷新就会上移2位
2
C# 跳过重复行数据读取
1
C# 通过串口重复发送16进制数据有时候接收不正确的问题
0
如何使用numpy查找满足一定数目条件的连续相邻重复值及其对应的起始索引与终止索引?
2
C# 操作mysql大批量插入语句,一次几万条,可以同时跳过指定的重复字段继续插入。
2
c#一段代码, 逻辑上有一句 if 有没有都可以,可是去掉就会报错堆栈溢出,加上就没事,大神帮忙看看是什么原因
0
求最长重复子串的代码,不知道哪里出了问题
1
C# 线性表和集合的区别
1
C# winfrom 向Mysql数据库中大批量插入数据,请问应该怎么写,最好贴代码!
3
C# 用Random 生成随机数的执行原理
2
C++——排序与查找C++程序
0
寻找最大的重复的子字符串的一个算法的问题,要求怎么采用C语言的程序的设计的原则方法是怎么做
6
请问C#中,我有72246452条数据的TXT,我应该要如何去除重复值,并显示有哪些重复呢?
1
C#求,将两个或多个长度不同的数组(数据不重复)进行组合,谢谢。
2
c# 将mysql的两个字段不完全的表合并。
2
小白请大家给一点思路,关于c#多线程编程
1
C#中查询access数据库中是否有某条数据?
2
C#提取xml中重复的节点的值
1
sql2008 插入新数据tabel#2,怎么使其中一个字段与tabel#1去重唯一插入
0
AMF3 反序列 DSK时出现的问题!!请高手指点!