解题思路:使用两个HashTable分别来存储两个链表,使用两个数组分别存储两个链表的key值,再使用a链表中的key对比b数组(存储b链表的key值),如果存在则删除a链表;具体如下
注意事项:无
参考代码:
import java.util.Scanner;
import java.util.Hashtable;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n=scanner.nextInt();
int m=scanner.nextInt();
int[] aid=new int[n];
int[] bid=new int[m];
Hashtable<Integer, Integer> hastab1=new Hashtable<>();
Hashtable<Integer, Integer> hastab2=new Hashtable<>();
for (int i = 0; i < n; i++) {
int id=scanner.nextInt();
int val=scanner.nextInt();
hastab1.put(id,val);
aid[i]=id;
}
for (int i = 0; i < m; i++) {
int id=scanner.nextInt();
hastab2.put(id,scanner.nextInt());
bid[i]=id;
}
for (int i = 0; i < hastab1.size(); i++) {
for (int j = 0; j < hastab2.size(); j++) {
if(hastab1.containsKey(bid[i])) {
hastab1.remove(bid[i]);
}
}
}
System.out.println(hastab1.size());
for (int i = 0; i < aid.length; i++) {
if(hastab1.containsKey(aid[i])) {
System.out.println(aid[i]+" "+hastab1.get(aid[i]));
}
}
}
}
0.0分
0 人评分
众数问题 (C++代码)浏览:1212 |
C语言训练-求函数值 (C语言代码)浏览:917 |
C语言训练-谁家孩子跑最慢* (C语言代码)浏览:1508 |
C语言训练-计算t=1+1/2+1/3+...+1/n (C语言代码)浏览:868 |
买不到的数目 (C++代码)浏览:868 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:901 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:668 |
C语言训练-列出最简真分数序列* (C语言代码)浏览:616 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:549 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:667 |