Java代码基础算法练习-数组整合-2024.04.21

ops/2024/10/24 12:30:49/

任务描述:
现给出两个数组,每个数组都有10个元素,请求两个数组的交集,如交集为空,请输出 NULL,否则输出交集元素(数组元素取值范围0~1000)。


任务要求:


代码示例:
 

java">/*** 计算两个数组的交集。* 该程序首先通过用户输入创建两个整数数组,然后找出这两个数组中相同的元素,* 并将这些相同的元素存储到一个新的数组中,最后打印出这个新数组(即两个数组的交集)。*/
package April_2024;import java.util.Scanner;public class a240421_2 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);// 输入第一个数组的元素System.out.println("第一个数组元素:");int[] arr1 = new int[10];for (int i = 0; i < 10; i++) {arr1[i] = sc.nextInt();}// 输入第二个数组的元素System.out.println("第二个数组元素:");int[] arr2 = new int[10];for (int i = 0; i < 10; i++) {arr2[i] = sc.nextInt();}// 寻找arr1和arr2中相同的元素,并存储到arr3中(保证不重复)int[] arr3 = new int[10];boolean[] foundInArr2 = new boolean[10]; // 用于标记arr2中是否已出现过某个元素for (int i = 0; i < 10; i++) {if (!foundInArr2[arr1[i]]) { // 检查arr1[i]是否已存在于arr2中for (int j = 0; j < 10; j++) {if (arr1[i] == arr2[j]) {arr3[i] = arr1[i];foundInArr2[arr1[i]] = true; // 标记arr2中已出现arr1[i]break; // 找到匹配后即跳出内层循环}}}}// 打印arr3中的元素,即为arr1和arr2的交集(无需去重,因为arr3本身已无重复元素)System.out.println("交集:");for (int i = 0; i < 10; i++) {if (arr3[i] != 0) {System.out.print(arr3[i] + " ");}}}
}

交集去重逻辑:


http://www.ppmy.cn/ops/9308.html

相关文章

Python零基础从小白打怪升级中~~~~~~~FastAPI和SQLAlchemy的整合

第六节&#xff1a;FastAPI和SQLALchemy的整合 一、ORM的查询操作 # 查找某个模型对应的那个表中所有的数据&#xff1a;all_person session.query(Person).all()# 使用filter_by来做条件查询all_person session.query(Person).filter_by(namemomo1).all()# 使用filter来做条…

C语言——九九乘法表

直接上代码实现九九乘法表&#xff0c;完整代码如下&#xff1a; #include <stdio.h>int main(){int i,j;for(i1;i<10;i){for(j1;j<i;j){printf("%d*%d%d\t",j,i,i*j);/*printf("%d*%d%-2d",j,i,i*j);*/}printf("\n");}return 0; }…

Centos7下docker的jenkins配置启动vue、springboot生产环境

个人记录 上篇 Centos7下docker安装jenkins / Gitee上传私有仓库 安装插件 新建任务 多分支流水线 任务名称&#xff1a;ks-springboot&#xff08;后端&#xff09;/ ks-vue3&#xff08;前端&#xff09; 分支源 增加源&#xff1a;Git gitee复制git链接 https://g…

spring - tx 事务的使用(事务的传播行为是啥)

补充&#xff1a;事务的传播行为是啥 事务的传播行为&#xff1a;指的是&#xff0c;当一个事务方法被另一个事务方法调用时&#xff0c;这个被调用的事务方法应该如何进行&#xff0c; 简单来说&#xff0c;它决定了事务方法是在调用者的事务中运行&#xff0c;还是为自己开启…

前端 vue单页面中请求数量过多问题 控制单页面请求并发数

需求背景&#xff1a; 页面中需要展示柜子&#xff0c;一个柜子需要调用 详情接口以及状态接口 也就是说有一个柜子就需要调用两个接口&#xff0c;在项目初期&#xff0c;接手的公司项目大概也就4-5个柜子&#xff0c;最多的也不超过10个&#xff0c;但是突然进来一个项目&a…

码随想录-算法训练营day20【二叉树06:最大二叉树、合并二叉树、二叉搜索树中的搜索、验证二叉搜索树】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第六章 二叉树 part06 今日内容 ● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树 详细布置 654.最大二叉树 又是构造二叉树&#xff0c;昨天大家刚刚做完 中序后序确定二叉树…

JAVA学习笔记28(常用类)

1.常用类 1.1 包装类 1.包装类的分类 ​ 1.针对八中基本数据类型相应的引用类型–包装类 ​ 2.有了类的特点&#xff0c;就可以调用类中的方法 2.包装类和基本数据类型的转换 ​ *装箱&#xff1a;基本类型 --> 包装类型 //手动装箱 int n1 100; Integer integer ne…

Linux文本处理三剑客:awk、grep和sed

Linux文本处理三剑客&#xff1a;awk、grep和sed的完美结合 在Linux世界里&#xff0c;文本处理是一项至关重要的任务。无论是日常的系统管理还是复杂的软件开发&#xff0c;都需要对文本数据进行提取、过滤和转换。Linux为我们提供了三款强大的文本处理工具&#xff1a;awk、…