zoukankan      html  css  js  c++  java
  • 求一个字符串没有重复字符的最大子串长度

    /// <summary>
    /// 获取一个字符串的没有重复字符的最大子串长度,比如abcabcbb所求值为abc、bca、cab即为3
    /// </summary>
    /// <param name="args"></param>
    static void Main(string[] args)
    {
        string str = "abcabcbb";      
        int initlength = str.Length;         
        //长度位移法获取子串
        Dictionary<int, List<string>> strlist = new Dictionary<int, List<string>>();
        for (var i = 0; i < initlength-1; i++)
        {
            List<string> valuelist = new List<string>();
            var valuelength = initlength - 1 - i;
            for (var j = 0; j <= initlength - valuelength; j++)
            {
                var value = str.Substring(j, valuelength);  //(位移,长度)
                valuelist.Add(value);                  
            }
            strlist.Add(valuelength, valuelist);  
        }
        //单元素去重校验
        foreach (var item in strlist.OrderByDescending(p=>p.Key))
        {
            foreach (var itemchild in item.Value)
            {
                bool isRepeat = false;
                for (var i = 0; i < itemchild.ToCharArray().Length; i++)
                {
                    for (var j = 0; j < itemchild.ToCharArray().Length; j++)
                    {
                        if (i!=j && itemchild.ToCharArray()[i] == itemchild.ToCharArray()[j])
                        {
                            isRepeat = true;
                            break;
                        }
                    }
                    if (isRepeat)
                    {
                        break;
                    }
                }
                if (!isRepeat)
                {
                    Console.WriteLine($"结果为:{item.Key}");
                    Console.ReadLine();
                }
            }                         
        }
    }
  • 相关阅读:
    如何创建线程详解(二)
    JAVA 多线程和进程概念的引入
    JMeter压力测试
    建模揭秘----构建用户模型
    浅谈“领域驱动设计”
    Restlet 学习笔记
    实则以数据库为中心---其实数据库不存在
    基于可重用构件的软件开发过程模型
    四层架构设计模型驱动
    架构
  • 原文地址:https://www.cnblogs.com/happyShare/p/15160795.html
Copyright © 2011-2022 走看看