問題タブ [lexicographic]

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

javascript - 文字列の前後の値を辞書順に取得する

noSQL データベースを使用していますが、特定の理由により、クエリで等値フィルタリングを使用できません。

例えば

許可されていません

ただし、不等式フィルタリングは許可されています

例えば

私の ID は UNIQUE 文字列 (メール) であり、等式フィルタリングを使用する必要があるため、不等式ステートメントを等式ステートメントに変換することを考えました (たとえば、where id = 10 は Where id > 9 AND < 11 と記述できます)。

ID が数字の場合、次のようなコードを使用してキーを取得します。

数値ではこれを行うのは非常に簡単ですが、文字列ではより困難であることがわかりました. mysuperfakeemail.gmail.com のようなメールがある場合、前と次の辞書式文字列を取得するにはどうすればよいですか (それぞれmysuperfakeemail.gmail.co lと mysuperfakeemail.gmail.co nであると想定しています)。このタイプの関数の確立されたアルゴリズムは既にありますか? これをUTF-8文字のnodejsサーバーで書いています。

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

java - 文字列の母音で始まり子音で終わる最小および最大の部分文字列を吐き出すアルゴリズム

そのようなアルゴリズムを Java で書こうとしています。文字列入力「abaab」をテストしています。文字列の入力は小文字であると想定しても安全です。

アルゴリズムがどこで間違っているかを確認するのに途方に暮れています (この入力に対して、「ab」と「abaab」ではなく「a a」のみを出力します。何かアイデアはありますか?

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

mysql - SQL ROW サブクエリでの比較の順序定義?

>orなどの比較演算子を使用して行サブクエリが実行されるとき、比較>=の順序は辞書式 (つまり、辞書) 順序を使用して定義されているのでしょうか、それとも要素ごとに定義されているのでしょうか?

つまりROW (A, B)

句の行クエリでTRUE(辞書)またはFALSE(要素ごとに)ですか?WHERE

これを PostgreSQL でテストしたところ、辞書の順序を使用しているよう(79, 48) > (75, 52)です。調べてみると、これは MySQL にも当てはまるようです。を検索しても、比較順序についてはあまりわかりません。TRUE79 > 75postgresql row subquery

ディクショナリの順序はコンピューター サイエンスの観点からは理にかなっていますが、データベース ユーザーにとっては少し奇妙に見えるかもしれません。これは、行の順序がSQL で最初にリストする列に依存するようになったためです。たとえば、辞書の順序を使用すると、次のようになります。

のためにROW (B,A)B同じ行が比較されますが、列が最初にリストされるため、順序は正反対です。

私の質問は:

この動作 (行クエリでの辞書の順序の使用) は、SQL 標準/クロスベンダーからのものですか、それとも実装固有ですか? これについての参照はありますか?

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

java - 辞書順に並べられた 2 つの String ArrayList を新しい 3 つ目の ArrayList にマージするにはどうすればよいですか?

元の 2 つのリストを変更せずに、辞書順に並べられた 2 つの String ArrayList を新しい 3 つ目の ArrayList にマージするにはどうすればよいですか? たとえば、重複は許可されます。list1 が 1, 3, 5 であり、list2 が 2, 4, 7, 8, 8 の場合、新しくマージされた list3 は、1, 2, 3, 4, 5, 7, 8, 8 である必要があります。 2 つの while ループを作成します。最初のループはリスト全体を処理し続け、2 番目のループは他のリストから残りの要素を取得し、残りのすべての要素を新しいリストの最後に配置します3. 基本的に、両方のリスト インデックスを比較して、どちらの要素が進むかを確認する必要があります。すべてが正しいはずですが、while ループを作成するのに助けが必要です。

長い説明で申し訳ありませんが、助けてくれる人には賛成票を投じます! ありがとうございました!