問題タブ [palindrome]

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

code-golf - パリンドローム ゴルフ

目標: あらゆる言語。文字列が回文かどうかを返す最小の関数。これがPythonの私のものです:

50文字。

受け入れられた回答は、現在の最小のものになります。これは、より小さなものが見つかると変化します。コードの言語を指定してください。

0 投票する
32 に答える
87447 参照

regex - 正規表現を使用して文字列が回文であることを確認するにはどうすればよいですか?

それは私が答えることができなかったインタビューの質問でした:

正規表現を使用して文字列が回文であることを確認するにはどうすればよいですか?

ps「与えられた文字列が回文であるかどうかを確認する方法」という質問がすでにあり、さまざまな言語で多くの回答が得られますが、正規表現を使用した回答はありません。

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

algorithm - 回文検出効率

Jon Limjap のインタビュー事故に興味を持ち、回文検出を効率的に行う方法を探し始めました。回文ゴルフの回答を確認しましたが、回答には 2 つのアルゴリズムのみがあり、文字列を逆にして、テールとヘッドからチェックしているように思えます。

これらの方法はどちらも、巨大な DNA 配列の正確なパリンドロームの検出には使用されていないと思います。少し調べてみましたが、これを行うための非常に効率的な方法についての無料の記事は見つかりませんでした。

良い方法は、最初のバージョンを分割統治法で並列化し、char 配列 1..n と length-1-n..length-1 のペアを各スレッドまたはプロセッサに割り当てることです。

より良い方法は何でしょうか?

何でも知ってますか?

0 投票する
14 に答える
3331 参照

python - オイラー問題番号 #4

Python を使用して、Project Eulerの問題の4 番目の問題を解決しようとしています。誰かが私が間違っていることを教えてもらえますか? 問題は、2 つの 3 桁の数の積から作られる最大の回文を見つけることです。これが私がこれまでに持っているものです。

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

c++ - スタックベースの回文チェッカー

プログラムに問題があります。回文をスタック経由で認識するプログラムである必要があります。すべてがうまく機能しますが、機能しないのは、機能が完了した後にスタック (元と逆) を印刷することだけです。これが私のコード全体であり、問​​題はケースdとeにあります:

0 投票する
18 に答える
23243 参照

c++ - 整数の2進表現が回文であるかどうかを確認するにはどうすればよいですか?

整数の2進表現が回文であるかどうかを確認するにはどうすればよいですか?

0 投票する
11 に答える
96272 参照

python - Python の再帰関数回文

文字列が回文かどうかを検出する再帰関数を作成するのに助けが必要です。しかし、再帰的でなければならないループは使用できません。誰でもこれがどのように行われるかを教えてくれますか? 私はPythonを使用しています。

0 投票する
23 に答える
169180 参照

algorithm - 与えられた文字列で最も長い回文を返す関数を書く

たとえば、文字列「abaccddccefe」の「ccddcc」

解決策を考えましたが、O(n^2)時間で実行されます

アルゴリズム 1:

手順: 力ずくの方法


  1. i = 1 から i が array.length 未満の場合は2 つの for ループを持ち
    、j=i+1 から j が array.length 未満の場合は -1
  2. このようにして、配列から可能なすべての組み合わせの部分文字列を取得できます
  3. 文字列が回文かどうかをチェックする回文関数を用意する
  4. したがって、すべての部分文字列 (i,j) に対してこの関数を呼び出し、回文の場合は文字列変数に格納します
  5. 次の回文部分文字列が見つかった場合、それが現在のものよりも大きい場合は、現在のものに置き換えます。
  6. 最後に、文字列変数に答えがあります

問題: 1. このアルゴリズムは O(n^2) 時間で実行されます。

アルゴリズム 2:

  1. 文字列を反転し、別の配列に格納します
  2. 両方の配列間で一致する最大の部分文字列を見つけます
  3. しかし、これも O(n^2) 時間で実行されます

より良い時間で実行されるアルゴリズムを考えてもらえますか? できればO(n)時間

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

haskell - Haskell の回文

私は Project Euler Problem 4に取り組んでおり、2 3 桁の数の積の回文を見つける必要があるため、次のように思いつきました。

これが機能しないのはなぜですか? どうすれば機能させることができますか? どういうわけか答えをリストに入れて、それが回文であるかどうかを逆にしてチェックする必要があると思います。

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

c++ - 15 桁の数字が与えられた場合、次の回文を見つける最善の方法は何ですか?

c ++で、与えられた15桁の数字の次の回文を見つけるための最速のロジックは何ですか? たとえば、134567329807541 の次の回文は何になりますか?