問題タブ [longest-substring]

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 投票する
2 に答える
138 参照

r - タブ delim ファイルから最長シーケンスを抽出する

次の情報を含むタブ delim ファイルがあります

ss_45_201_0_1複数のエントリがあったようなIDについてはss_23_167_0_1、すべての最大長を持つエントリのみを保持したいと思います。次のような出力を取得したいと思います。

Rで次のコードを試しましたが、失敗します

誰でも私を導くことができますか?長さが異なる複数のエントリを持つ同じ ID の最長シーケンスのみを取得するにはどうすればよいですか。

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

c - C プログラム 'e' または 'E' を使用せずに char 配列内の最大の部分文字列を決定する

タイトルにあるように問題があります。詳細はこちら。

私の問題は:

a) char 配列を入力パラメーターとして取得し、この char 配列内の最大の部分文字列を なしで決定する C 関数を開発します'e' 'E'。その部分文字列の長さを出力します。

b) a) 関数をテストするためのメイン関数を記述します。scanf("%[^\n]",...)またはループを使用するgetchar()

例: 入力 : 「あなたは一つです。」.output : 「あなた」の長さ: 6

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

python - 最長パスアルゴリズムのpythonを理解しようとしています

指定されたマトリックス(水平および垂直)で最も長く繰り返される文字を取得するPythonスクリプトを作成しようとしています。

例:

私はこのマトリックスを持っています:

この行列を入力に与えると、結果は 3になります。

マトリックスの 3 列目は a でいっぱいで、マトリックスで最も繰り返される文字であることがわかります。

私が持っているもの:

これは私のソースコードです。上記の例は、ソース コードでも使用されています。与えられた結果は次のとおりです: r 2これは間違っています ... 繰り返しますが、3である必要があります

main、search、stop、check_points の 4 つの機能があります。

  • メインは物事を初期化することです、
  • search は、1 つのパラメーター (開始点) を受け取る再帰関数であり、最も長い文字列を再帰的にチェックする必要があります。元と同じ長さの別の行列があります。これはちょうど 1 と 0 です。1 はその位置が訪問されたことを意味し、0 ではありません。検索機能は、特定の位置が検索機能によって処理された後、右側の位置に 1 を設定します。
  • stop は、matrix2 が 1 でいっぱいかどうかをチェックしています。この場合、行列はすべて解析されました。
  • check_points は 2 つのパラメーター、2 つのポイントのリストを取り、最も繰り返される文字とそれらのポイントの長さを返します

機能しないもの:

ほとんどの場合、結果として間違った文字が表示されますが、カウントが正しい場合もあります。水平方向に動作する場合もあれば、そうでない場合もあります。私は何か間違ったことをしていると確信していますが...これを行う方法を見つけようとしてから1週間以上経ちました。ここで、stackoverflow で別の質問をしましたが、もう少し進みましたが、まだスタックしています。

どんな提案でも大歓迎です。

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

c++ - 最適化された最長共通部分列

現在、特定の 2 つの文字列の最長の共通サブシーケンスを見つけて出力しようとしています。再帰なしで最も一般的なアルゴリズムを使用します。配列全体を保持する場合は簡単な作業ですが、少し最適化して 2 行のみを使用しようとしています。以下のコードで確認できます。この変更により、長さの検出は依然として簡単で正常に機能しますが、サブシーケンスの回復はそれほど簡単ではなくなりました。私はいくつかの方法でそれをやろうとしましたが、どちらもうまくいきませんでした。以下に、私の最後の試みを示します。同じケースで動作しますが、失敗するケースもあります。長い間考えた後、2行しかない配列を使用してサブシーケンスを回復する方法はないと信じ始めています。私の研究では正確な答えが得られなかったので、私が何を達成する方法があるか尋ねています。しようとしていますか?または、印刷したい場合、配列全体を保持することにこだわっていますか?

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

ruby - 桁の最長繰り返しサイクル

1 を除算したときに、繰り返し数の最長の文字列を生成する 1000 未満の数を見つけようとしています。10 進数のリストがあり、最も長い繰り返しシーケンスを持つものを見つける必要があります。

これが私がこれまでに持っているものです

正規表現を使用して 3 次元配列を生成できます。正規表現/(.+)\1+/は、繰り返される部分文字列の配列を生成します。最長の部分文字列を見つけたいので、enumerable のmax_by関数を使用しました。

nil要素を削除するには、配列を圧縮する必要があります

次に、どれが最も長いかを調べることができます。

を取得0090009009しましたが、配列から nil 要素を削除したため、どの数値がその 10 進数の値を持っているかわかりません。

何か案は?

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

python - テキスト分析用の 2 つの関数に問題がある

音声テキスト ファイル (実際には 3 つのファイル) 内の一意の単語の量を見つけるのに苦労しています。誤解がないように完全なコードを示します。

そのため、最後の 2 つの関数 uniqueWords と longestWord が正しく機能しないか、少なくとも出力が間違っています。固有の単語については、527 を取得するはずですが、実際には奇妙な理由で 567 を取得しています。また、私の最長の単語関数は、何をしても、常に何も出力されません。最長の単語を取得するために多くの方法を試しましたが、上記はそれらの方法の 1 つにすぎませんが、すべて返されるものはありません。私の2つの悲しい機能を助けてください!

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

python - O(N) の最長増加サブシーケンス コード?

誰かが私に質問した

そして、私はそれをコード[Pythonで]実装しました

答えは「aaabbbccc」です

私はこれをいくつかの例で試してみましたが、すべてうまくいきました! このコードの複雑さが O(N) であると考えることができる限り、例を挙げてみましょう。文字列 'zzzz' があると仮定すると、メイン ループは 4 回実行され、内部ループは反復ごとに 26 回実行されるので、次のことができます。最悪の場合、コードが実行されると言う

O(N)は受け入れられますか?

今質問は

  1. ideone のO(N)私のコードで動作しますか?
  2. O(N) で動作する場合、DP の O(N2)コードの DPを使用する理由
  3. このコードよりも良いですかフレンズコード
  4. このコードの制限
0 投票する
0 に答える
201 参照

java - 与えられた文字列から、2 文字以上の共通文字を最適に含む単語で最も長い部分文字列を見つけます

問題のテキストには次のように書かれています: Find the longest substring in a given stringformed with words that have 2 or more letters in common(the words must be neighbors in the substring(one after the other)) . 制約: 実行時間は O(n^2) 未満でなければなりません。

もう 1 つの制限は、プログラムには 2 つの単語を比較して、2 つ以上の文字が共通しているかどうかを判断するメソッドが必要であるということです。この関数は O(n) 時間で実行する必要があります。

メソッドで O(n) 時間を達成するために私が考えた唯一の方法は、ハッシュテーブルを使用することです(これを達成しようとするメソッドの名前は「検索」です)。これは私の問題の実装です:

これは私が考えることができる最高のものなので、他の誰かがより良いアイデアを持っているかどうか知りたい.

0 投票する
4 に答える
47 参照

php - PHPを使用して繰り返しの連続セグメントの最大セグメントを繰り返す方法はありますか?

「RKKRRRRK」のような入力を入力し、最大の連続セグメントのような出力を取得しようとします.入力が「RKKKR」であると仮定すると、プログラムは「KKK」が最大の連続セグメントであると表示します..そして、それも表示しますカウントは3..

私はすでに「R」値をカウントするためのコードを書いています..今、私はこのプログラムも欲しいです...誰か助けてくれる人が必要です..事前に感謝します。

ここにコード: -