http://aichallenge.org/specification.phpのA *を実装していて、schartzian変換に基づいてコレクションの最小値を選択することを躊躇していました。コレクションから最小シュワルチア変換を持つオブジェクトを選択してください
基本的に、私は移動するのに適した四角形のコレクションを持っています。私はコストが最も低い四角形に移動したいと思います。
基本的には、コストが最も低い隣人から、私は四角形を選択します。
私はこれを行うに考えることができる唯一の方法は
next_spot = spot.neighbors.sort_by |a,b| { a.cost(dest) <=> b.cost(dest) }.first
ようなものである。しかし、私は本当に何か高性能たいと思い、私は本当に、コレクションをソートしたくないので、私はしたいです変換の最小値を持つもの
私はもっと冗長な "Cスタイル"のループを作成し、それ以前の最小値を記録することができましたが、私は明確でコンパクトなものを望んでいました。
私の間違い、私は頻繁にこれらの2つをミックスし、必要に応じて_byを削除または追加します – EnabrenTane