数组交并补
来源:互联网 发布:zenm查看网络密匙 编辑:程序博客网 时间:2024/04/20 02:21
- http://blog.sina.com.cn/s/blog_4934a04a0100fqmf.html
//求两个字符串数组的并集,利用set的元素唯一性 -
static String[] union(String[] arr1, String[] arr2) { -
Set<String> set = HashSet<String>(); -
(String str : arr1) { -
set.add(str); -
} -
(String str : arr2) { -
set.add(str); -
} -
String[] result = {}; -
set.toArray(result); -
} -
-
-
static String[] intersect(String[] arr1, String[] arr2) { -
Map<String, Boolean> map = HashMap<String, Boolean>(); -
LinkedList<String> list = LinkedList<String>(); -
(String str : arr1) { -
(!map.containsKey(str)) { -
map.put(str, Boolean.FALSE); -
} -
} -
(String str : arr2) { -
(map.containsKey(str)) { -
map.put(str, Boolean.TRUE); -
} -
} -
-
(Entry<String, Boolean> e : map.entrySet()) { -
(e.getValue().equals(Boolean.TRUE)) { -
list.add(e.getKey()); -
} -
} -
-
String[] result = {}; -
list.toArray(result); -
} -
-
-
static String[] minus(String[] arr1, String[] arr2) { -
LinkedList<String> list = LinkedList<String>(); -
LinkedList<String> history = LinkedList<String>(); -
String[] longerArr = arr1; -
String[] shorterArr = arr2; -
-
(arr1.length > arr2.length) { -
longerArr = arr2; -
shorterArr = arr1; -
} -
(String str : longerArr) { -
(!list.contains(str)) { -
list.add(str); -
} -
} -
(String str : shorterArr) { -
(list.contains(str)) { -
history.add(str); -
list.remove(str); -
} { -
(!history.contains(str)) { -
list.add(str); -
} -
} -
} -
-
String[] result = {}; -
list.toArray(result); -
} - }
0 0
- 数组交并补
- java 集合交并补
- 【JAVA】集合交并补
- List的交并补集
- 线段树交并补+poj3225
- POJ 3225 区间操作 交并补
- 【Java】两个ArrayList之间求交并补
- 顺序表的交并补 增删查
- 单链表ADT实现集合交并补
- poj3225 Help with Intervals 线段树 区间交并补
- poj 3225 区间(区间的交并补操作)
- POJ 3225(线段树,区间的交并补操作)
- poj 3225 Help with Intervals 线段树 集合的交并差补运算
- POJ 3225-线段树求区间或集合的交并补、异或
- SDUST-OJ-1681 Problem 求集合的交并补集(不用STL,手写单链表实现)
- 数据结构(线性结构习题)Problem A: 求集合的交并补集
- 数据结构(线性结构习题)Problem A: 求集合的交并补集
- poj 3225 Help with Intervals -线段树-延迟标记-区间交并补
- Swift-桥接模式(Bridge Pattern)
- QString,const char*,char*相互直接转换方法
- 秒杀多线程-经典线程同步之事件Event
- HI3518EV200 方案设计相关产品
- 分布式系统为什么需要 Tracing?
- 数组交并补
- 多线程为什么要用ConcurrentHashMap
- 调用手机的震动器
- linux基础
- 自定义RecyclerView实现下拉刷新和上拉加载
- Linux系统中常见的26个命令详解
- ECMAScript6笔记:字符串的扩展
- 委托(1. 冒泡排序自定义类型)
- android中layer-list标签