微软采访 - 图像位图

时间:2012-10-31 03:51:05

标签: c algorithm

我正在阅读旧的MS问题并遇到过这个问题:

  

pic有一个与之关联的位图和一个256长的原始数组   调色板。现在我们有一个更改列表,其中映射了一些旧颜色   到新的颜色。编写代码以更改原始调色板。现在如果   必须更改原始位图,编写将扫描的代码   pic以及更改的调色板阵列。代码应为O(N)   而不是O(N ^ 2)。原始调色板的结构可以更改为   做到这一点。

我无法弄清楚确切的问题。如果有人可以说明问题和标准方法,那将会很棒。非常感谢。

2 个答案:

答案 0 :(得分: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

以上可能没有更新某些值(对于图像中不存在某些调色板值的情况),但我认为这是处理此问题的简单方法。

此致

答案 1 :(得分:0)

只需根据更改列表替换颜色即可修改调色板数组。