(xi,f(xi)) のマップがあり、f(xi) も厳密に増加しています。この方法でキーと値を交換する必要があります
私の関数の入力:
との地図
//keys : x0, x1, x2, ..., xn
// vals : f(x_0) f(x1), f(x2), ..., f(xn)
私の関数の出力:マップ
// key : left_val f(x_0) f(x1), ..., f(xn-1)
// vals : x0, x1, x2, ..., xn
(ここで left_val は入力パラメーターです。f(x0) よりも低いことがわかっています)。正しい構造を使用していない可能性があることはわかっていますが、log(n) 挿入と順序付けられたキーの一意性が本当に必要です...
それをどのように効率的に実装しますか(つまり、マップを複製しないでください)?
前もって感謝します。