Java O(n^2)实现

/**
 * 算法实现,拼接设备
 * 示例:
 * 实现前:甲-重要设备,乙-重要设备,丙-关注设备,丁-关注设备,你-重要设备
 * 实现后:甲、乙、你为重要设备,丙、丁为关注设备,
 * @author xyq
 */
String dataheader = "";
String finaldata = "";
String[] datas = totals.split(",");
for (int i = 0; i < datas.length; i++) { //遍历每一个,得到每个的格式“xxxx-xxxx”
    String shebei = datas[i].split("-")[0]; //取出当前设备
    String sbzyd = datas[i].split("-")[1];  //取出当前重要度
    if(finaldata.contains(shebei)){ //最后拼接包含该循环设备则跳出
        continue;
    }
    for (int j = i; j < datas.length; j++) { //再次遍历,起点为当前循环位置
        if(datas[j].contains(sbzyd)){  
            if(datas[j].contains(shebei)){
                dataheader = shebei;
                continue;
            }
            if(!"".equals(dataheader)){ //判断当无重复匹配的时候
                dataheader = dataheader+"、"+datas[j].split("-")[0];
            }else{
                dataheader = datas[i].split("-")[0]+"、"+datas[j].split("-")[0];
            }
        }
    }
    finaldata+=dataheader+"为"+sbzyd+",";
}
Last modification:November 26th, 2019 at 10:00 am
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment