当前位置: 首页 > news >正文

数组元素去重(综合应用):

题目要求
  1. 定义方法removeDuplicates(int[] arr),接收整型数组。

  2. 在方法内完成:

    • 遍历数组,筛选出不重复的元素存入新数组;

    • 循环对比元素是否重复,分支判断是否加入新数组;

    • 输出原数组和去重后的数组。

  3. main 方法中定义数组{2, 5, 2, 8, 5, 9, 8, 10},调用方法。

思路分析:
  • 首先,方法接收需要数据处理,所以需要一个参数用来接收处理的数组int[] arr;方法removeDuplicates接收一个int[]类型的参数。

  • 其次,去重后的结果只需要在控制台输出,所以不需要设置返回值,返回值类型为void

  • main方法中定义测试数组arr;打印原数组(保证用户能对比去重前后的结果);调用removeDuplicates()方法,触发数组去重和结果的打印。

    • 在程序入口main方法中,定义了包含多个重复元素的测试数组arr,其中包含了重复元素和不重复元素。
    • 调用removeDuplicates方法,将数组传递进去,执行核心的去重逻辑并输出结果。
  • 最后分析方法内部业务逻辑:

    • 使用for循环遍历原数组,逐个取出元素,同时用boolean标记位isDuplicate标记当前元素是否重复(默认不重复)。
    • 使用内层for循环,对比当前元素与临时数组brr中已经存入的数据,若发现重复则将标记位设为true并跳出内层循环,避免无效对比。
    • 若标记位为false(即当前元素不重复),则将该元素存入临时数组brr,并更新临时数组的有效元素下标index
    • 输出去重结果:先打印原数组,再打印去重后的数组(仅遍历临时数组的有效元素,避免输出数组默认值),方便用户查看。
代码:
public static void main(String[] args) { //定义一个数组 int[] arr = {2, 5, 2, 8, 5, 9, 8, 10}; removeDuplicates(arr); } private static void removeDuplicates(int[] arr) { //打印原数组 System.out.print("原数组["); for (int i = 0; i < arr.length; i++) { System.out.print(arr[i]); if (i != arr.length-1){ System.out.print(","); } } System.out.print("]"); //定义一个新数组 int[] brr = new int[arr.length]; int index = 0;//用来记录新数组下标 //外层循环:遍历原数组的每个元素 for (int i = 0; i < arr.length; i++) { //标记当前元素是否重复(默认不重复) Boolean isDuplicate = false; //内层循环:对比当前元素与临时数组中已经存入的数据 for (int j = 0; j < index; j++) { //找出重复元素跳出循环 if (arr[i] == brr[j]){ isDuplicate = true; break; } } //若没有重复则加入新数组 if (!isDuplicate){ brr[index] = arr[i]; index++; } } //打印去重后的数组 System.out.print("去重数组后:["); for (int i = 0; i < index; i++) { System.out.print(brr[i]); if (i != index - 1){ System.out.print(","); } } System.out.print("]"); } }
http://www.jsqmd.com/news/449686/

相关文章:

  • 计算机毕业设计之springboot微信小程序的垃圾分类回收
  • OFA-Image-Caption实战:为Unity游戏引擎中的场景截图自动生成旁白
  • CineBot TMS软件安装设置项目
  • 基于深度学习的超市商品识别检测系统|全新web界面|多模态|AI大模型智能分析|YOLOv8、YOLOv10、YOLOv11、YOLOv12
  • DMXAPI 开发者指南:如何用 1 个 Key 调用 300+ 大模型?
  • 四天工作制在软件测试领域的技术性困境与体系化破局
  • MedGemma-X在Linux系统的部署与性能调优
  • 计算机毕业设计之基于Spring Boot框架的文学名著分享系统的设计与实现
  • 人工智能+AI的基于web的NBA球星勒布朗詹姆斯球员生涯网站laravel
  • 项目设计流程之关于模块流程到前端交互落地
  • JMM详解
  • 小白必看!Stable Diffusion v1.5 WebUI界面详解与参数设置指南
  • 【计算机毕业设计】基于Django的可视化人工智能科普平台+LW
  • ble mesh的基础知识 ---Provisioner
  • BS101智能垃圾分拣设备:西门子1200PLC与TP900触摸屏博途V15.1程序全套包
  • 集成墙板,性价比之选解析
  • VideoAgentTrek-ScreenFilter行业落地:在线教育平台课件画面智能标注
  • Spring Boot (API) + PostgreSQL联动监控
  • 横评后发现!王者级的AI论文写作软件 —— 千笔写作工具
  • 计算机网络知识应用:优化卡证检测模型API的网络传输性能
  • 为什么很多 PCB 项目一开始报价就错了--工程评估阶段最容易忽略的 6 个成本变量
  • Qwen1.5-1.8B GPTQ一键部署教程:Python环境快速配置指南
  • 上海智推时代 GEO 合作指南:2026 年 3 月最新官方对接方式 - 速递信息
  • 海外GEO系统哪家靠谱?亲测5家复盘分享
  • 宝塔面板Linux面板安装命令
  • LDAP Injection
  • freertos开发空气检测仪之综合展示
  • Nano-Banana入门必看:knolling美学三大法则(对称/留白/色彩秩序)AI实现
  • 手把手教你用Qwen3-ForcedAligner-0.6B:上传音频即出字幕,无需任何代码
  • IRBCRB15000_New_GoFa-2v2国外机器人防护服注意事项解析与避坑指南