weixin_43078650 2020-05-26 20:39 采纳率: 0%
浏览 117
已结题

java两个数组[5,5]跟[4,4,2]比较生成[4,1,3,2]新数组

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

  • 写回答

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#的问题,如何解决?