【发布时间】:2018-03-20 20:35:13
【问题描述】:
我正在编写一个代码 sn-p 以从给定字符串中获取所有子字符串。
这是我使用的代码
var stringList = new List<string>();
for (int length = 1; length < mainString.Length; length++)
{
for (int start = 0; start <= mainString.Length - length; start++)
{
var substring = mainString.Substring(start, length);
stringList.Add(substring);
}
}
对我来说它看起来不太好,有两个 for 循环。有没有其他方法可以以更好的时间复杂度实现这一目标。
我的观点是,为了获得一个子字符串,我肯定需要两个循环。有没有其他方法可以调查?
【问题讨论】:
-
使用 substring 方法,即使你写错了 for loop 。缺少代码
-
这听起来像是一个 XY 问题。您打算如何处理所有这些子字符串?
-
来自给定输入的每个可能的子字符串?
-
@MichaelRandall 是的。正是
-
@Shyamsundarshah 我添加了 mainString.Substring(start, length)。代码到底缺在哪里?
标签: c# optimization