1

私は古いMSの質問を調べていて、これに出くわしました:

pic には、それに関連付けられたビットマップと、元のパレットの 256 の長い配列があります。これで、いくつかの古い色が新しい色にマッピングされた変更リストができました。元のパレットを変更するコードを記述します。元のビットマップを変更する必要がある場合は、pic と変更されたパレット配列をスキャンするコードを記述します。コードは O(N^2) ではなく O(N) である必要があります。これを実現するために、元のパレットの構造体を変更することができます。

私は正確な問題を理解することができません。誰かが問題と標準的なアプローチを説明できれば素晴らしいと思います。どうもありがとう。

4

2 に答える 2

0

この種の質問は、採用担当者と何らかのやり取りをして対処する必要があると思います。

私のアプローチは次のとおりです。

for each *element* in *image data*
    if *palette value* in *element* contains *old value*
        update *palette value* with *new value*
    end
    process *element*
end

上記では一部の値が更新されていない可能性があります (画像に存在しないパレット値がある場合) が、これはこの問題を処理する簡単な方法だと思います。

よろしく

于 2012-10-31T06:50:54.990 に答える
0

変更リストに従って色を置き換えて、パレット配列を変更するだけです。

于 2012-10-31T10:10:01.457 に答える