最近在学习机器学习的相关算法,写到DbScan算法发现在簇扩展时用到两个邻域中的点会重合,于是尝试了合并两个链表的两个算法。
最初用到这个方法,认为它简单易用。思路是定义一个链表存放合并后的链表list,首先往该链表中加入a链表,再去掉b链表,这样list中就剩下只有a链表有而b链表没有的节点,最后加上b链表,就不会存在重复元素。
设aList[a,b,c,d,e]bList[b,c,d,f]
   public ArrayList<PointTest> expandCluster(ArrayList<PointTest> aList,ArrayList<PointTest> bList) {ArrayList<PointTest> list = new ArrayList<PointTest>();list.addAll(aList);list.removeAll(bList);list.addAll(bList);return list;} 

验证算法过程中发现上述方法合并后得到的链表为list[a,e,b,c,d,f],而我在DbScan中想要的效果是list[a,b,c,d,e,f],于是改变了一下思路,如下:

public ArrayList<PointTest> expandCluster(ArrayList<PointTest> aList,ArrayList<PointTest> bList) {for (int i = 0; i < bList.size(); i++) {if (aList.contains(bList.get(i)))bList.remove(i);}aList.addAll(bList);return aList;}

合并两个链表,去掉重复元素相关推荐

  1. js合并两个数组去掉重复的

    let list1=[] let list2=[]list2=Array.from(new Set([...list1,...list2]))

  2. leetcode刷题记录--数据结构;深度优先搜索算法;二叉树;平衡树;1020. 飞地的数量;1669. 合并两个链表;108. 将有序数组转换为二叉搜索树

    1020. 飞地的数量 难度中等131 给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格.1 表示一个陆地单元格. 一次 移动 是指从一个陆地单元格走到另一个相邻(上 ...

  3. LeetCode: 2_Add Two Numbers | 两个链表中的元素相加 | Medium

    题目: You are given two linked lists representing two non-negative numbers. The digits are stored in r ...

  4. SDUT_2122 数据结构实验之链表七:单链表中重复元素的删除

    提交代码 数据结构实验之链表七:单链表中重复元素的删除 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Discuss Proble ...

  5. C语言实现合并两个链表 含注释

    本例子实现将两个链表合并,合并后的链表是第一个链表.通过将第二个链表连接到第一个链表的尾部实现.核心思想是:遍历第一个链表直到尾部,记录尾指针,然后将第二个链表连接到第一个链表尾部指针的 next 指 ...

  6. 面试题:交替合并两个链表

    交替合并两个链表给定一个链表 L1: L0->L1->L2->L3->L4....Ln 给定一个链表 L2: Lm->Lm+1->L....LM+n 例如输入链表1 ...

  7. 把如下元素存入List集合 “aaa“ “bbb“ “aaa“ “abc“ “xyz“ “123“ “xyz“ 去掉重复元素 List集合去重复元素方法

    题目:把如下元素存入List集合 "aaa" "bbb" "aaa" "abc" "xyz" &qu ...

  8. 删除排序链表中重复元素的方法

    链表的操作非常常见,也是面试中经常会被问道的问题.对于链表重复元素的删除,有两个变体,现在总结如下. 链表代码如下: public class ListNode {int val;ListNode n ...

  9. LeetCode简单题之合并两个链表

    题目 给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个. 请你将 list1 中下标从 a 到 b 的全部节点都删除,并将list2 接在被删除节点的位置. 下图中蓝 ...

最新文章

  1. Go 学习笔记(37)— 标准命令(go build 跨平台编译、交叉编译、go clean、go run、go fmt、go install、go get)
  2. SQL Servr 2008空间数据应用系列六:基于SQLCRL的空间数据可编程性
  3. 超融合刚刚好——蓝色光标成功应用联想超融合解决方案
  4. 【招聘(深圳)】轻岁 诚聘.NET Core开发
  5. 什么样的人适合做合伙人?
  6. java.lang.object源码_第三篇:java.lang.Object 类源码分析
  7. kali linux之选择和修改exp与windows后渗透
  8. C#调用C++编写的dll库
  9. NPOI导出 The maximum column width for an individual cell is 255 characters
  10. html源码taptap,taptap开源应用电脑版
  11. 用matlab画矩形波傅里叶变换,用matlab画出余弦函数的傅里叶变换图像
  12. 2011年度全球移民国家移民条件浅析
  13. allegro更新铜皮方法和快捷键
  14. 推荐一款学习Autosar ecu配置的好工具
  15. [关于决策单调性DP]
  16. 实业优则投资:危险的游戏
  17. 一维信号小波阈值去噪
  18. windows_server_2008镜像文件
  19. “希希敬敬对”团队作业——敏捷冲刺6
  20. 什么样的蓝牙耳机打电话好用?接电话清晰的蓝牙耳机推荐

热门文章

  1. 服务器角色与数据库角色
  2. 关于 SENDKEYS 的代码
  3. 远程拷贝 linux服务器,linux scp 服务器远程拷贝(示例代码)
  4. mysql strtok,strtok()和strtok_r()
  5. 钉钉机器人怎么设置自动回复_项目部署成功后触发钉钉机器人发送消息提醒——入门配置...
  6. 秦九韶算法matlab实验报告,数值分析上机实验报告.doc
  7. 操作系统上机作业--使用系统调用实现mycat
  8. JavaScript中带有示例的Math.PI属性
  9. Java——List集合特有的功能
  10. 计算机专业理论,计算机专业综合理论.doc