求个算法,遍历数组,得到更新部分的元素.该如何解决
求个算法,遍历数组,得到更新部分的元素.
求算法:
数组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很诡异 不解。。。
求算法:
数组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很诡异 不解。。。