看看大家的解题思路,除了循环遍历添加次数统计以外,都有什么办法,解出正确答案!
3条回答 默认 最新
- a5156520 2022-09-14 20:00关注
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class findSameNum { public static int [] findSameNum1(int [] arr) { //https://blog.csdn.net/weixin_34927903/article/details/114033321 Arrays.sort(arr); ArrayList same = new ArrayList(); ArrayList result = new ArrayList(); int pre=-1; for(int i=0;i<arr.length-1;i++) { if(arr[i]==arr[i+1]) { result.add(arr[i]); }else if(arr[i]!=arr[i+1]&&arr[i]==pre){ result.add(arr[i]); } pre=arr[i]; } System.out.println(result); int [] rarr = new int[result.size()]; for(int i=0;i<result.size();i++) { rarr[i] = (Integer)result.get(i); } return rarr; } public static int [] findSameNum2(int [] arr) { ArrayList notSame = new ArrayList(); for(int i=0;i<arr.length;i++) { int find=0; for(int j=0;j<arr.length;j++) { if(arr[i]==arr[j]&&i!=j) { find=1; break; } } if(find==0) { notSame.add(arr[i]); } } //System.out.println("notSame="+notSame); ArrayList same = new ArrayList(); for(int i=0;i<arr.length;i++) { //https://www.runoob.com/java/java-arraylist-contains.html if(notSame.contains(arr[i])==false) { same.add(arr[i]); } } System.out.println(same); int [] rarr = new int[arr.length-notSame.size()]; for(int i=0;i<same.size();i++) { rarr[i] = (Integer)same.get(i); } return rarr; } public static void main(String[] args) { // TODO Auto-generated method stub int [] arr = {1,1,2,3,1,4,8,2,7,5,4,10,6,5,9}; findSameNum1(arr); findSameNum2(arr); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度