注意:这是我的思路,当时只AC了10%。
这是2018届美团笔试(java后台岗),整取7问题,具体问题是这样的:先输入n(n表示有几个数),第二行输入n个数,然后将两个数两两拼接,最后输出拼接后能整除7的数的个数。代码如下:
import java.util.HashSet;
import java.util.Iterator;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();//有多少个数
String[] s = new String[n];
HashSet<Long> hs = new HashSet<Long>();
for (int i = 0; i < s.length; i++) {
s[i] = sc.next();
}
int count = 0;
for (int i = 0; i < s.length-1; i++) {
for (int j = i+1; j < s.length; j++) {
long a = Long.parseLong(s[i]+s[j]);
long b = Long.parseLong(s[j]+s[i]);
hs.add(a);
hs.add(b);
}
}
Iterator<Long> ll = hs.iterator();
while(ll.hasNext()){
long a = ll.next();
if(a%7==0){
count++;
}
}
System.out.println(count);
}
}