これが正しい場所であるかどうかはわかりませんが、アルゴリズムに関連する質問があり、効率的なアルゴリズムはないと思います。 私の問題文を共有することを考えました。:) 私が説明しようとしていることを緩和するために、私は仮説的な例を作りましょう。python:アルゴリズム - 平均からアイテムを集める
と仮定、私は2つのことが含まれているwhcihオブジェクトを含むリストを持っている...
lets say product id and price
さて、これは在庫のような長い長いlist..sortです..私は持っている。このうちの 低価格、中価格、高価格 の3つの価格区分を定義し、次にk1、k2、k3を計算します。ここで、k1、k2、k3は比率です。 だから、仕事は今、私はこのような方法で、低価格帯のn1製品、中価格帯のn2製品、高価格帯のn3製品があるというような形で製品を集める必要があります... n1:n2 :n3 == k1:k2:k3
ここで、効率的に以下を達成する方法を説明します。
に、おそらく500ドル とそうであるので、私は100ドルで始まり...そして、その後に見える.. ミッド価格帯を、私は低価格・ポイントが100ドル で目標と私は、この範囲から20個の製品を収集するために持っています90と100の間、100と110の間の項目については、 としましょう。区間1の5つの製品(90,100)と区間1の2つの製品(100,110) 次に、次に低い区間と次の高い区間に行きます。 私はこの間隔で製品の数を得るまでこれを続けます。
どうすればいいですか?また、特定の価格帯の商品数が私の必要以上に少ない場合(おそらく中価格帯は105ドルです...)、その場合はどうすればいいですか。 それが正しいプラットフォームでない場合は私を許してください。質問から、これは「私はこのエラーが発生しました」タイプの質問ではなく、討論的な質問のように見えることがあります。 ありがとう
アイテムNを並べ替え、比に基づいてNをn1:n2:n3に分割する方が簡単でしょうか? –
@ AlvinK。うーん..私は計算された統計のいくつかを実際に使用することはできませんが、それは1つの解決策になる可能性があります。しかし、間違いなく簡単なプログラミングにつながる可能性のある非常に素晴らしい例です:) – Fraz