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

shadou 2007-05-14 02:29:37
求算法:

数组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]

...
...全文
250 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
carlhunter 2007-05-14
  • 打赏
  • 举报
回复
step3很诡异 不解。。。
shadou 2007-05-14
  • 打赏
  • 举报
回复

数组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]
    ---- ---- ---- ----
    下标 1..4         输出 = [0x01],[0x02],[0x11],[0x41]

Step3: [0x01],[0x02],[0x11],[0x41],[0x1f],[0xff],[0xff],[0x00],[0xff],[0xff]
                  ---- --== --== ----
    下标 5..8         输出 = [0x1f],[0xff],[0xff],[0x00]

Step4: [0x11],[0x02],[0x11],[0x41],[0x1f],[0xff],[0xff],[0x00],[0x04],[0x23]
    ----                           ---- ----
    下标 9..10 ,1..1      输出 = [0x04],[0x23],[0x11]
不是这么简单吧.
to:flyingghost(游魂)
关键是这些数据不是我更新的。我只能从串口,网口中得到。
to:hertz2007()
注意step3画等号的部分。
作差的结果不一样的.我要求得到 下标为5~8的数据,而不是5,8的数据.即使6,7的数据没变我也要

===============================


hertz2007 2007-05-14
  • 打赏
  • 举报
回复
作差,差非零,输出它,复杂度O(n)。
hertz2007 2007-05-14
  • 打赏
  • 举报
回复
作差,差不同,输出它。
flyingghost 2007-05-14
  • 打赏
  • 举报
回复
自己封装这个放数组的容器,批量更改某些值的时候在标尺上面相应位置1,其余置0。

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

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

void lastUpdatedItems(){
//根据flag输出相应元素
}
}

33,007

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧