数据结构内容,求两个数组的并集用二路归并法和顺序表,我求出来的并集是有重复数字。
2条回答 默认 最新
- threenewbee 2023-04-02 08:01关注
import java.util.ArrayList; public class Main { public static ArrayList<Integer> merge2(ArrayList<Integer> A, ArrayList<Integer> B) { ArrayList<Integer> result = new ArrayList<>(); int i = 0, j = 0; while (i < A.size() && j < B.size()) { if (A.get(i) < B.get(j)) { result.add(A.get(i)); i++; } else if (A.get(i) > B.get(j)) { result.add(B.get(j)); j++; } else { result.add(A.get(i)); i++; j++; } } while (i < A.size()) { result.add(A.get(i)); i++; } while (j < B.size()) { result.add(B.get(j)); j++; } // 去重 ArrayList<Integer> finalResult = new ArrayList<>(); finalResult.add(result.get(0)); for (int k = 1; k < result.size(); k++) { if (!result.get(k).equals(result.get(k-1))) { finalResult.add(result.get(k)); } } return finalResult; } public static void main(String[] args) { ArrayList<Integer> A = new ArrayList<>(); A.add(1); A.add(3); A.add(3); A.add(5); ArrayList<Integer> B = new ArrayList<>(); B.add(2); B.add(3); B.add(4); B.add(6); System.out.println(merge2(A, B)); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改
- ¥20 wireshark抓不到vlan