問題タブ [lexicographic-ordering]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
367 参照

theory - 辞書順で次の文字列を計算するチューリング マシンの状態図

アルファベット Σ = {1, 2, 3} の次の文字列を辞書式順序で計算するチューリング マシンの状態図はどのようになりますか? 文字列のサイズは 4、つまり ---1、---2、---3、--11、--12 などです。

Michael Sipser の Introduction to Theory of Computation からすでにそれを理解しようとしましたが、うまくいきませんでした。また、オンラインで検索しようとしましたが、やはりうまくいきませんでした。

前もって感謝します!

0 投票する
5 に答える
5226 参照

java - 2 つの文字列が与えられた場合、1 つの文字列を辞書式に小さくするために 1 つの数字のみを削除します

Java での文字列操作のコーディングの問題を解決しようとしています。問題は、

数字と小文字で構成される 2 つの文字列 S と T が与えられた場合、どちらの文字列からも 1 つの数字だけを削除することができます。S を T よりも辞書的に小さくするには、削除する方法がいくつあるかを数えます。

私は自分でこのテストケースを思いつきました。s = '3ab' および t = 'cd' の場合、1 を返します。s = '123ab' および t = '423cd' の場合、6 を返します。

私の考えは、2つのforループを使用し、文字が数字であるかどうかを確認して各文字列を調べ、それを削除して他の文字列と比較することです。

ご覧のとおり、スペースの複雑さはかなり悪く、コードも冗長に見えます。このコードを最適化する方法はありますか? 文字列ビルダーを使用しない方法や、毎回新しい文字列を作成する方法を知っている人はいますか? どんな入力でも大歓迎です!

0 投票する
2 に答える
52 参照

python - n と特定の順列 s が与えられた場合、要素 1-n の辞書順で次の順列を見つけます (python)

たとえば、 があり、これら 2 つを関数の入力として使用して、順列の要素が範囲内にある辞書式順序で次の順列を見つけNextInOrder(10,(1,2,4,7))て返す python 関数を書きたいと思います。(1,2,4,8)1-10

別の例NextInOrder(10, (5,3,2,10))が返すように(5,3,4,1)