0

たとえば、[1,2,14,51,100,103,107,110,300,505,1034] のような値があります。そして、[1,10,20,100,500,1000] などのパターン値があります。パターンから最適な「適切な」値を取得する必要があります。私の例では 100 です。この値を検出するにはどうすればよいですか?

人生からの例。アプリには、ユーザーの位置と一部のオブジェクトとの間にさまざまな距離があります。このアプリには、距離によるプリセット フィルターも用意されています: [1 メートル、10 メートル、20 メートル、100 メートル]。デフォルトでは、最初の値 (私の例では 1 メートル) だけでなく、一連の距離に最適な方法で一致する値 (私の例では 100 メートル) にフィルターを設定することに注意してください。1 つの値を検出する必要があります。

助けとアイデアをありがとう。

4

1 に答える 1

0

私はこのような関数を作成すると言います(これは実際のコードではありません):

            var ratio1 = 0.66
            var ratio2 = 1.5
            function Score(currentPatternValue, arrayOfValues)
            {
            count = 0
            for each value in arrayOfValues <br>
              if value > ratio1 * currentPatternValue AND value < ratio2 * currentPatternValue<br>
                count++<br>

            return count
            }

次に、パターン値の値ごとにこれを実行し、その関数から返されたスコアが最も高いものを選択します

于 2012-11-11T23:24:44.907 に答える