java两个数组[5,5]跟[4,4,2]比较生成[4,1,3,2]新数组。
含义是1,2,3,4,5,6,7,8,9,0分别分为两组,
第一组:5个5个一组{[12345],[67890]}
第二组:4个4个2个一组{[1234],[5678],[90]}
相互比较得出匹配数量
a1b1=4
a1b2=1
a2b2=3
a2b3=2
java两个数组[5,5]跟[4,4,2]比较生成[4,1,3,2]新数组
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- threenewbee 2020-05-27 00:18关注
不明白为什么只比较a1b1 a1b2 a2b2 a2b3,而没有a1b3 a2b1
不过按照你的意思直接比较就可以了
以下代码手写的,只是思路public static int cnt(arraylist<Integer> a, arraylist<Integer> b) { int n = 0; arraylist<Integer> c = a.clone(); c.removeAll(b); return a.length() -c.length(); } public static void main(String args[]) { int[] an = new int[] {5,5}; int[] bn = new int[] {4,4,2}; arraylist<arraylist<Integer>> a = new arraylist<arraylist<Integer>>(); arraylist<arraylist<Integer>> b = new arraylist<arraylist<Integer>>(); int acc = 1; for (int i = 0; i < an.length(); i++) { a.add(new arraylist<Integer>()); for (int j = 0; j < an[i]; j++) a.get(i).add(new integer(acc)); acc++; } acc = 1; for (int i = 0; i < bn.length(); i++) { b.add(new arraylist<Integer>()); for (int j = 0; j < bn[i]; j++) b.get(i).add(new integer(acc)); acc++; } System.out.println(cnt(a.get(0), b.get(0))); System.out.println(cnt(a.get(0), b.get(1))); System.out.println(cnt(a.get(1), b.get(1))); System.out.println(cnt(a.get(1), b.get(2))); }
解决 无用评论 打赏 举报
悬赏问题
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?