package com.company; import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args) { // write your code here Scanner sc=new Scanner(System.in); ArrayList<Integer> result=new ArrayList<Integer>(); int n=sc.nextInt(); int[] num=new int[n]; for (int i=1;i<n+1;i++){ num[i-1]=i/2+i/3+i/5; result.add(num[i-1]); } //得到结果集result //将重复元素剔除 for (int i=0;i<result.size();i++){ for (int j=i;j<result.size();j++){ if (result.get(i)==result.get(j)&&i!=j){ result.remove(j); j--; } } } System.out.println(result.size()); } }
这样写不对,不对在哪里,找不到原因。
import java.util.*; public class Main { public static void main(String[] args) { // write your code here Scanner sc=new Scanner(System.in); Set set=new HashSet(); int n=sc.nextInt(); int[] num=new int[n]; for (int i=1;i<n+1;i++){ num[i-1]=i/2+i/3+i/5; set.add(num[i-1]); } System.out.println(set.size()); } }
可怕,利用set集合的唯一性,以下解决了问题,拿到久违的满分