YY0304 2012-04-17 17:49
浏览 211
已采纳

求一道算法,奖励50块电话费

一组矩阵数据,位置大小都是随机分布的,假设每个矩阵数据都带有 canGet 的布尔属性。

规则是,假设一个矩阵的canGet被设为true,就会将所有与这个矩阵相交的矩阵的canGet也设为true。

设计一个算法,给出一些随机的矩阵并设置canGet为true,循环求出其中任何与之相交的矩阵也要设置canGet为true,假设当一个A矩阵canGet被设为true,它又会继续循环判断和A矩阵相交的矩阵,并设置canGet为true,重复下去,直到找到所有矩阵中canGet为true的矩阵数组。

最好性能上有优化。

谢谢啊,急求算法或者思路。或者提供哪些算法可以解决这类问题。

只要能帮助小弟解决目前难题,空中充值50块话费,50块不算什么的,一点心意回报,不坑人。

谢谢,问题不明白的再问问我,我表述能力有限,致歉。
或加我QQ544980720

  • 写回答

7条回答 默认 最新

  • ll89308839 2012-04-18 21:22
    关注

    楼主说的有道理
    广度优先好像也不是很好,这次用动态平衡实现
    [code="java"]
    public static void changeMatrix(List listStart ,List finds){
    //判断时候初始的时候数据为空
    if(finds==null||finds.size()==0||listStart.size()==0) return ;
    //List最好使用为LinkedList实现类
    loop: for(Iterator i=listStart.iterator();i.hasNext();){
    Matrix temp = i.next();
    for(Iterator j=finds.iterator();j.hasNext();){
    if(isCross(m,j.next())){
    //setCanGet
    finds.add(temp);
    i.remove();
    continue loop;
    }
    }
    }
    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))