文字列のすべてのサブシーケンスを返すために、Matlab で疑似コードとアルゴリズムを作成しようとしています。
したがって、文字列X = {ABCD}
は を返しXSubSequence = {A, B, C, D, AB, AC, AD, BC, BD, CD, ABC, ABD, BCD, ABCD}
ます。順序はもちろん関係ありません。
clear
x = 'ABC';
XSize = length(x);
count = 1;
i=1;
for i=1:XSize
ZSubSequence{count} = x(i);
count = count + 1;
for j=i+1:XSize
temp = strcat(x(i),x(j));
ZSubSequence{count} = temp;
count = count + 1;
for k=i+2:XSize
if j ~= k
temp = strcat(x(i), x(j), x(k));
ZSubSequence{count} = temp;
count = count + 1;
end
end
end
end
これをより動的にする方法はありますX
か?