私はここでかなりの挑戦の前にいます、そしてあなたが少しの助けを提供できることを願っています。
私はたくさん試し、検索しましたが、成功しませんでした。
ここに問題があります:
2つのリスト
List1 : [a1; a2; ...; an]
List2 : [b1; b2; ...; bn]
各リスト内の順序を尊重して、2つのリストで可能なすべてのインターリーブのリストを返す関数は何ですか。
例えば :
myFunction [1; 2] ['a'; 'b'; 'c'] = [
[1; 2; 'a'; 'b'; 'c'];
[1; 'a'; 2; 'b'; 'c'];
[1; 'a'; 'b'; 2; 'c'];
[1; 'a'; 'b'; 'c'; 2];
['a'; 1; 2; 'b'; 'c'];
['a'; 1; 'b'; 2; 'c'];
['a'; 1; 'b'; 'c'; 2];
['a'; 'b'; 1; 2; 'c'];
['a'; 'b'; 1; 'c'; 2];
['a'; 'b'; 'c'; 1; 2]
]
お気づきの方は、基本的に2つの並行プログラムを考えており、2つのプログラムの起動時にすべての実行が可能です(1は常に2の前、aは常にbの前、cの前です。それ以外の場合はすべてのインターリーブが可能です)
私が明確であり、あなたが私を助けてくれることを願っています。
大いに感謝する。