問題タブ [bisect]
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.
java - Python の bisect に相当する Java の
Java で Python のbisect モジュールに相当するものはありますか? Python の bisect を使用すると、方向を指定して配列の二分を行うことができます。たとえば、次のようbisect.bisect_left
にします。
リスト内のアイテムの適切な挿入ポイントを見つけて、並べ替え順序を維持します。パラメータ lo と hi を使用して、考慮すべきリストのサブセットを指定できます。デフォルトでは、リスト全体が使用されます。
二分探索でもこれを手動で実行できることはわかっていますが、これを実行しているライブラリまたはコレクションが既に存在するかどうか疑問に思っていました。
version-control - Mercurial bisect は何に適していますか?
私は読んでいてhg bisect
、どのリビジョンがバグを導入したかを知ることができるのは興味深いですが、人々がこの情報を何に使用しているか知りたいです. 私が考えられる唯一のことは、何らかの形式の無効なデータをもたらすバグである場合、データの修正が必要な日付を絞り込もうとすることです.
更新: これを投稿する前に、目的を完全に誤解していたと思います。私はデバッグを行い、どの行がバグを導入したかを見つけてから、bisect を使用することを考えていました。bisect は、バグがどこにあるかを推測したり、ブレークポイントを配置したり、ログを記録したりするのに時間を費やす必要がないように思えます。代わりに、現在失敗し、過去のリビジョンで合格し、bisect に問題の原因を教えてもらう小さなテストを作成する必要があります。
python - ユーザー定義オブジェクトの bisect とリスト (python 3)
Python 3 より前は、ユーザー定義オブジェクトをリストに挿入するために bisect を使用していました。__cmp__
私のユーザー定義オブジェクトには、オブジェクトを比較する方法を定義する定義があったため、bisect はこれに満足していました。Python 3 で cmp をサポートしない理由を読みましたが、それで問題ありません。古いコードの修正は、ユーザー定義オブジェクトをタプルに変換して「装飾」することだと思いました
ただし、タプルのリストがあり、試してみると...
次に、「builtins.TypeError: unorderable types ...」というエラーが表示されます
では、(python 3 で)自然な並べ替え順序で完全に構成されていないアイテムのリストに bisect を使用するにはどうすればよいですか?
git - バグを見つけるためにコミット内のコードを変更するにはどうすればよいですか?
コード内の特定のバグを追跡しようとしていますが、問題は、コミットのブロックのどこかにバグが表示され、コミットが壊れているかどうかを確認する唯一の方法がコメント化されているため、どのコミットであるかがわかりません。 。
1行のコードを変更し、その行を複数のコミットにマージする必要がありますが、これは可能ですか?
math - 2D の 2 つのベクトルの 2 等分線 (共線の場合あり)
一般に、2 つのベクトルのバイセコール b = (bx, by) を見つける方法 (2 つのゼロでないベクトル u = (ux, uy)、v = (vx, vy) を考えます。これは共線である可能性があります)。
非共線ベクトルの場合、次のように記述できます。
ただし、共線ベクトルの場合
例:
mercurial - Mercurial から bisect の現在の状態 (良い/悪いリビジョンの履歴) を取得するにはどうすればよいですか?
eclipse で hg bisect を実行すると、過去にマークした不良品と商品がすべて表示されるので気に入っています。
コマンドラインでその情報を取得する方法はありますか?
python - リストを二等分するPython
リストを取得してそれを二等分する関数を作成する必要があります (bisect モジュールのように使用できません)。私は通常、これまでに行ったことを示しますが、モジュールなしでそれを行う方法が本当にわからないので、誰かが私を少し助けてくれることを願っています. これが私が理解する必要がある正確な質問です:
並べ替えられたリストとターゲット値を受け取り、リスト内の値のインデックスがあればそれを返し、そうでない場合は None を返す bisect という関数を作成します。
mercurial - Mercurial リポジトリで最初に出現したテキストを見つける
約 800 の変更セットを含む Mercurial リポジトリがあり、Exampleという単語が最初に表示された変更セットを見つける必要があります。この単語は、コミット コメントなどではなく、.php ファイル内に表示されます。
それを行うための最も迅速で簡単な方法は何ですか?
git - gitbisectの実行中に2つのコマンドを実行する
私は本質的にやりたいですgit bisect run 'bundle && bundle exec cucumber'
。
コマンドラインでこれを実行したい-シェルスクリプトを記述したくない。
git - 古いバージョンのコードに対して Ivy 統合バージョンを使用するには?
私の組織は、マルチプロジェクト構成での依存関係管理に Apache Ivy を使用することを検討しています。ほとんどの開発が行われるメイン プロジェクト (MAIN と呼びます) と、別のリポジトリに保持するいくつかのヘルパー ライブラリ プロジェクト (LIBPROJ と呼びます) があります。現在私たちが行っているのは、ライブラリ プロジェクトが変更されたときにその jar を作成し、それらをメイン プロジェクトにコミットすることですが、これは大きな頭痛の種であり、プロジェクトの肥大化につながります。
アイビーのようなものを使用するのが適しているようです。Jenkins サーバーを使用して LIBPROJ 用の新しいライブラリ jar を自動的に構築し、それを ivy に公開し、「latest.integration」バージョンを使用して LIBPROJ の最新バージョンを MAIN に自動的に取り込むことを想定しています。しかし、いつ問題が発生したかを調べるために二分する必要がある場合、これはどのように機能するのでしょうか?
現時点でこれを行う唯一の方法は、LIBPROJ に変更が加えられるたびに MAIN で依存している LIBPROJ のバージョンを変更することですが、それは jar 自体をチェックインするよりもはるかに優れています。
私がこれについて心配している理由は、古いバージョンの MAIN を見る場合、1 つだけチェックアウトすると、最新のビルドを要求しているため、ビルドして実行することができないためです。今見ているのは、数日/数週間/数か月ずれている可能性があります。これにより、あらゆる種類の二分ツール (git や mercurial など) が壊れてしまいます。これは、私が本当にやりたくないことです。