求个算法,遍历数组,得到更新部分的元素.该如何解决

求个算法,遍历数组,得到更新部分的元素.
求算法:

数组X   :             [1...Max]                   Max   =   10


Step1:   [0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]

输出   =  

Step2:   [0x01],[0x02],[0x11],[0x41],[0xff],[0xff],[0xff],[0xff],[0xff],[0xff]
                ----       ----       ----       ----
输出   =   [0x01],[0x02],[0x11],[0x41]

Step3:   [0x01],[0x02],[0x11],[0x41],[0x1f],[0xff],[0xff],[0x00],[0xff],[0xff]
                                                                        ----       --==       --==       ----
输出   =   [0x1f],[0xf1],[0x1f],[0x00]

Step4:   [0x11],[0x02],[0x11],[0x41],[0x1f],[0xff],[0xff],[0x00],[0x04],[0x23]
                ----                                                                                                         ----       ----
输出   =   [0x04],[0x23],[0x11]

...

------解决方案--------------------
自己封装这个放数组的容器,批量更改某些值的时候在标尺上面相应位置1,其余置0。

class Temp{
byte[] array;
short flag;//使用0-9位标记

void update(){//此方法一次更新不止一个元素
//flag被更新元素的下标相应位置1
}

void lastUpdatedItems(){
//根据flag输出相应元素
}
}
------解决方案--------------------
作差,差不同,输出它。
------解决方案--------------------
step3很诡异 不解。。。