元のリストの各要素がそのリストの連続したサブリストに何回現れるかを計算する必要があります。例えば、リストの各要素が連続するサブリストの数を計算する
セット[A、B、C]の場合、隣接するサブリスト[A、B、C]、[A、B]、[B、C]、[A]、[B] [C]、これは数字に従う私を与える:
AはBは4回使用
Cリスト3回
を用いる[A、B、C、D]が[Aであるべきで3回
を使用B、C、D]、[B、C、D]、[A、B]、[B、C]、[C、D]、[A] [C]、[D]、数字:
A 4回
B 6回使用
Cは6回使用
Dは、私はすべての連続したサブリストを生成し、私は私の計算を行うことができたコードを持って4回
を使用しました。しかし、大きな入力に対しては遅すぎると同時に、すべての連続したサブリストを生成せずに計算を行うことができたと思っています。など
public static IEnumerable<int[]> Permutate(int[] a)
{
for (int i = 1; i < a.Length; i++)
{
for (int j = 0; j < a.Length-i; j++)
{
yield return a.Skip(j).Take(i).ToArray();
}
}
}
これまでに書いたことをお伝えください。 – Max
これをコンピュータプログラムとして回答してもよろしいですか?私には数学的な問題のようです。 – SJuan76
ところで、[permutations](https://en.wikipedia.org/wiki/Permutation)には、セットの各要素が含まれているため、正しい用語を使用する必要があります。元の注文を保存します)。 – SJuan76