原始字符串重复多少次后?

问题描述

任务:

在每次迭代时实现 a 方法,将字符串的奇数字符组合并换行到开头,偶数字符换行到结尾。在实现代码时,需要注意的是,输入的字符串可以包含非常多的字符,迭代次数可能非常大。在速度和资源消耗方面优化您的代码。

输入和预期输出示例:

输入字符串 = "123456789",迭代 = 1,ExpectedResult = "135792468"

输入字符串 = "123456789",迭代 = 2,预期结果 = "159483726"

输入字符串 = "123456789",迭代 = 3,ExpectedResult = "198765432"

输入“1234567890”,迭代= int.MaxValue,预期结果=“1357924680”

我在 C# 中编写了以下代码,它在相对较小的迭代中运行良好,但对于大量(例如 int.MaxValue)效率不高。我注意到经过一定次数的迭代后,给定的字符串返回到其初始状态,例如字符串“123456789”在 6 次迭代后重复。这意味着在第 7 次迭代时,循环再次运行,这是不必要的。我想减少迭代次数,这样代码就不需要运行额外的时间。我如何找到模式?字符串根据其长度以不同的迭代次数重复。

//source is the input string

        for(int j = 0; j < iteration; j++){
            for(int i = 0; i < source.Length; i+=2){
                stack.Push(source[i]);
            }

            for(int i = 1; i < source.Length; i+=2){
                stack.Push(source[i]);
            }

            char[] res = new char[stack.Count];

            for(int i = res.Length - 1; i >= 0; i--){
                res[i] = stack.Pop();
            }

            source = string.Join("",res);
        }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...