問題タブ [backtracking]

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 に答える
665 参照

linq - LINQ-バックトラックできますか?

私はLINQをいじっていますが、それを使って何ができるのか知りたいです。結果のセットに条件を課すLINQクエリを使用できるかどうかを知りたいです。たとえば、いくつかの単語のリストがあり、チェーンを形成する単語のセットを見つけたいとします(つまり、単語の最後の文字=次の単語の最初の文字、チェーンの最初または最後の単語に制約はありません) 。「こんにちは、古い、乳製品、黄色、世界...」のようなもの。

これらのセットから、最長のチェーンを形成するセットを取得したいと思います。

LINQはこのようなことを行うことができますか?

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

prolog - Prologの質問-特定の長さのサブリストを生成する方法

引数として指定された特定の長さを持ち、パラメーターとして渡される特定の要素を含む要素として、特定のプロパティを持つ特定のリストのすべてのサブリストを生成したいと思います。私はこれをなんとか実行できましたが、2つの述語の助けを借りて、最適性の点で非常に遅いです:

Tここでは、述語のパラメーターを介しchooseて、次元2または1を持ち、要素を含むLリストのすべてのサブリストに戻りたいと思いfます。
述語dimensionとは、それぞれmember事前定義された述語と同じ使用法です。プログラムがそれらの特定のサブリストのみを作成するように、この2つの条件を述語に組み込む方法を教えてください。lengthmember

sublist

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

prolog - プロローグ GNU - Univ オペレーター? その説明

だから大学のオペレーター。よくわかりません。

たとえば、次のようになります。

これは何をしているのですか?これは、別の述語が真かどうかを確認します。「..」の意味がわかりません。

univ 演算子なしでこれをどのように書き換えますか?

0 投票する
3 に答える
986 参照

algorithm - 辞書エントリから指定された文字列を作成します

最近の就職の面接で、私は次の問題の解決策を提供するように頼まれました。

文字列s(スペースなし)と辞書を指定して、文字列を構成する辞書内の単語を返します。

たとえば、s= peachpie, dic= {peach, pie}, result={peach, pie}

私はこの問題の決定のバリエーションを尋ねます:

s辞書内の単語で構成できる場合はreturn yes、それ以外の場合はreturn no

これに対する私の解決策は、バックトラック(Javaで書かれた)でした

このソリューションの時間計算量はどれくらいですか?forループで再帰的に呼び出していますが、辞書にあるプレフィックスに対してのみ呼び出しています。

何か案は?

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

prolog - Prologバックトラッキング

私は単語計算機をしようとしています..ファイルから単語を読みます..それらを数字に翻訳してから結果を計算します..私はそれをすべて行うことができましたが、私のプログラムには2つのバグがあると思います..

私は主に2つの機能を持っています...

extract(Words)、calculate(Words、0)。

extractはファイルから読み取り、単語のリストを返します..例:[one、plus、three] ..ここで、calculateはこれらの単語の値を数値に変換し、計算します..私もそれを行うことができました。 。現在のバグは次のとおりです。ファイルでstopが発生した場合は、読み取りを停止して終了する必要があります。したがって、Wordsが[stop]Endの場合は終了します。私は次のことを試しました...

正常に終了します..しかし、複数回抽出するため、行をスキップします..実行しようとしました..

言葉が止まらない場合は..それから行って計算してください..しかしそれは機能していません!!

私は助けに感謝します..ありがとう

0 投票する
9 に答える
4161 参照

algorithm - 重複しない最長のシーケンスを見つけるアルゴリズム

私は次の問題を解決するための最良の方法を見つけようとしています。最善の方法で、私はそれほど複雑ではないことを意味します。

入力として、次のようなタプル(start、length)のリスト:

各要素は、開始長さ(5,6,7,8,9,10,11)によってシーケンスを再プリセットします。たとえば、(5,7)は、シーケンス( 5で始まる7つの要素のリスト)と同等です。タプルはstart要素によってソートされていると見なすことができます。

出力は、最長の連続シーケンスを表すタプルの重複しない組み合わせを返す必要があります。つまり、ソリューションは、オーバーラップやギャップのない範囲のサブセットであり、可能な限り最長です。ただし、複数存在する可能性があります。

たとえば、与えられた入力の場合、解決策は次のとおりです。

[(0,5),(5,7)]に相当(0,1,2,3,4,5,6,7,8,9,10,11)

この問題を解決するための最良のアプローチをバックトラックしていますか?

私は人々が提案できるさまざまなアプローチに興味があります。

また、誰かがこの問題または同様の別の問題の正式な参照を知っている場合は、参照を取得したいと思います。

ところで-これは宿題ではありません。

編集

いくつかの間違いを避けるために、これは予想される動作の別の例です

[(0,1),(1,7),(3,20),(8,5)]正解のような入力の場合、[(3,20)]長さ20の(3,4,5、..、22)と同等です。受け取った回答の一部は[(0,1),(1,7),(8,5)](0,1,2、...、11,12)と同等になります。正解として。しかし、はより短いため、この最後の答えは正しくありません[(3,20)]

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

parsing - スカラパーサーコンビネータでバックトラッキング?

scala のパーサー コンビネータはバックトラックしないようです。次の「stmt」を正しく解析できない文法(下を参照)があります。

これは、バックトラッキングで簡単に解析できるはずです:

または私は何かを逃していますか?

パーサー:

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

algorithm - バックトラックを使用した平衡二分探索木

バックトラックを使用した平衡二分探索木のアルゴリズムを書きたいのですが、それについて教えていただけませんか。どのように実装すればよいかわかりません。説明だけが必要なコードは必要ありません。

0 投票する
6 に答える
12702 参照

python - n-queen パズルを解く

Pythonでnqueenの問題を解決しました。この解は、nXn のチェス盤に n 個のクイーンを配置する解の総数を出力しますが、n=15 で試してみると、答えを得るのに 1 時間以上かかります。誰でもコードを見て、このプログラムを高速化するためのヒントを教えてもらえますか...初心者のpythonプログラマー。

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

facebook - Krumo を使用して Facebook の drupal モジュールをデバッグする

私はkrumoでFacebookアプリをデバッグしようとしていますが、Facebookはそれを壊します(彼はスクリプトをブロックしていると思います)誰かがFacebookでkrumoを使用することに成功していますか?