1

我正在处理旧的 MS 问题并遇到了这个问题:

一张图片有一个与之关联的位图和一个 256 长的原始调色板数组。现在我们有一个更改列表,其中一些旧颜色映射到新颜色。编写代码以更改原始调色板。现在,如果必须更改原始位图,请编写将扫描图片以及更改的调色板数组的代码。代码应该是 O(N) 而不是 O(N^2)。可以更改原始调色板的结构来完成此操作。

我无法弄清楚确切的问题。如果有人可以说明问题和标准方法,那就太好了。非常感谢。

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 回答