c# - 用一对或多对字符之间的点确定单词排列的算法

标签 c# algorithm delphi

我会尝试用示例来解释。

来源:

something

变化:

s.o.m.e.t.h.i.n.g
so.m.e.t.h.i.n.g
som.e.t.h.i.n.g
som.et.hi.n.g.
.
.
.

我需要一个算法来创建像上面的 c# 或 delphi 中的最大变体

有人知道吗?

最佳答案

using System;
using System.Collections.Generic;

namespace ConsoleApplication {
    public static class ConsoleApp {
        public static void Main() {
            foreach (var permutation in Permutations("some"))
                Console.WriteLine(permutation);

            Console.ReadLine();
        }

        public static IEnumerable<String> Permutations(String value) {
            if (value.Length == 1) {
                yield return value;
            } else {
                var current = value.Substring(0, 1);

                foreach (var permutation in Permutations(value.Substring(1)))
                    yield return current + "." + permutation;

                foreach (var permutation in Permutations(value.Substring(1)))
                    yield return current + permutation;
            }
        }
    }
}

关于c# - 用一对或多对字符之间的点确定单词排列的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4534721/

相关文章:

javascript - 如何在屏幕上将对象分组到网络中?

algorithm - 梅尔频率倒谱系数如何工作?

python - 在python中实现合并排序时出现错误

delphi - 将 Paradox 转换为 MDB

c# - DAL、 session 、缓存架构

c# - protobuf3 中的重复 Int32Value(可为空的 int 数组)

Delphi编程将66位值(十六进制)转换为十进制

delphi - TWebbrowser 中烦人的点击声

c# - 从 c# 将 rdl 报告导出到多张 excel 文件有问题

c# - 通过显示文本查找带有 selenium 的元素