問題タブ [lower-bound]
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.
algorithm - M が最大である場合のすべての比較ベースの並べ替えアルゴリズムの時間計算量の下限 Ω(nlogn)
n 個の要素 [1,...,n] を持つ配列の最大要素 M が与えられた場合、すべての比較ベースの並べ替えアルゴリズムの時間計算量の下限 Ω(nlogn) はどのように影響を受けますか? 配列の最大要素 M が与えられていることを強調しなければなりません。
java - Java ライブラリには、C++ の std::lower_bound() 、 std::upper_bound() などの関数がありますか?
Java で同じことを達成するための他の選択肢はありますか? C++ では、これらの素晴らしいメソッドを使用して、作業を楽にすることができます。Javaでも可能ですか?私の唯一の目的は、シンプルでクリーンで、エラーが発生しにくいコードを書くことです。
c# - C# ジェネリックの下限制約 "where MySubClass : T" (Java の "super")
<X super MySubClass>
C# に Java の一般的な制約と同等のものがあるかどうか疑問に思っています。
上限を指定するには を使用できclass Foo<T> where T : MySuperClass { ... }
ますが、ジェネリック パラメーターの下限を指定するにはどうすればよいでしょうか。
同様の結果を得るにはいくつかの方法がありますが、まだ完璧なものを見つけていません。
2 番目の汎用パラメーターを使用しますが、呼び出し元は実際の下限のサブクラスを指定できます。
/li>これは拡張メソッドで使用されることがあるため、拡張メソッドのパラメーター
/li>U
はクラスのパラメーターのスーパークラスになるように制限されますT
。インターフェイスでバリアンスを使用しますが、これを使用してジェネリック パラメーターの下限を指定できるかどうかはわかりません。
c++ - std::map に find/lower_bound のオーバーロードがなく、std::list に sort のオーバーロードがないのはなぜですか?
によって提供される対数の代わりに線形時間がかかるため、std::find(some_map.begin(), some_map.end())
orを使用しないでください。同様のことが で発生します:ソート用の関数がありますが、イテレータはランダム アクセスではないため、を呼び出すことができません。std::lower_bound
some_map.lower_bound
std::list
std::list::sort
std::sort(some_list.begin(), some_list.end())
ただし、std::swap
たとえば、 には標準コンテナーのオーバーロードがあるため、 の呼び出しはswap(some_map, other_map)
O(n) ではなく O(1) を取ります。C++ 標準がマップとセットlower_bound
の特殊なバージョンを提供しないのはなぜですか? find
深い理由がありますか?
c++ - C ++でソートされたベクトルの範囲[x、y]を検索する[lower_bound()とupper_bound()を使用]
並べ替えられたベクトルの配列がありますが、
vector< int> b[1000009];
ここで、行 b[factor] で x と y の間の範囲を検索する必要があります。
'factor'、'x'、'y' はすべて整数です。
私は次のアプローチを使用しました:
しかし、このアプローチでは常に正しい答えが得られるわけではありません。それに加えて、同じことを達成するためにいくつかのコンパレータ関数を使用したいと思います。lower_bound()とupper_bound( ) を使用するのはこれが初めてです。そこで、ここでコンパレータ機能を実装する方法を教えてください。
c++ - upper_bound/lower_bound function in C++
I'm trying to find the upper and lower bounds of my vector (vector possible) using these functions. The struct data holds 3 strings and I'm using string date for comparison.
but by doing that, the compiler is displayng the following message:
whats the proper way to use these functions?
scala - 「下限」は型の分散を逆にしますが、なぜですか?
scala specificationには、分散と下限に関する記述があります:
型宣言または型パラメーターの下限の分散位置は、型宣言または型パラメーターの分散位置の反対です。
44ページにあります。
なんとなくわかるのですが、うまく説明できません。それについて詳しく説明していただけますか?
c++ - std::lower_bound と std::upper_bound の根拠は?
STL は二分探索関数 std::lower_bound と std::upper_bound を提供しますが、私はそれらのコントラクトが完全に不可解に見えるため、それらが何をするのか思い出せなかったので、それらを使用しない傾向があります。
名前を見るだけで、「lower_bound」は「最後の下限」、
つまり、指定された val (存在する場合) <= であるソートされたリストの最後の要素の略であると推測できます。
同様に、「upper_bound」は「最初の上限」、
つまりソートされたリストの最初の要素で、指定された val (存在する場合) >= の略であると思います。
しかし、ドキュメンテーションによると、彼らはそれとはかなり異なることを行っているとのことです。ドキュメントを言い換えると:
- lower_bound は >= val で
ある最初の要素を見つけます - upper_bound は > val である最初の要素を見つけます
したがって、lower_bound は下限をまったく検出しません。最初の上限を見つける!? そして upper_bound は、最初の厳密な上限を見つけます。
これって意味あるの??どのように覚えていますか?