参考というか大元です Next lexicographical permutation algorithm HackerRankの問題を解いていたらつまづいた問題を解くために必要なアルゴリズム。以前どこかで見知った気もするが、覚えていないので、今回学んだことを整理しておく。 Next lexicographical permutation algorithmは、「辞書順での次の順列を求めるアルゴリズム」とでも訳したらいいのかな。lexicographical orderといったほうが一般的かもしれない。 問題 初めに文字列 S が与えらる。 その文字列 S の文字の順序を入れ替えて S’ を作成する。 このS'は辞書順で S よりも後に来るものとする。 複数パータンある場合は「辞書順で S よりも後」かつ「辞書順で最小のもの(次にくるもの)」を作成する。 具体的には、文字列S=xyzikd
