4.4 美团数开岗笔试题求大佬们指点
在下是个纯算法小菜bi,早就听闻美团的笔试题不是很简单,昨天一做果然。我就A了第三题,第一题18%~~~第五题有了些许思路,但是时间不够了,gan。
第三题主要思路就是跟着题目意思走,我感觉有点和求素数的思路类似,也就这么搞得。不说废话了,直接上代码了
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class NoNumber {
public static boolean canChu(int number, int k){
List<Integer> nums = new ArrayList<Integer>();
for(int i = 1; i <= Math.sqrt(number); i++){
if(number % i == 0){
nums.add(i);
}
}
String str = "";
int x = 0;
int[] num2 = new int[nums.size()];
for(int elem : nums){
num2[x++] = elem;
}
int len = num2.length;
for(int i = len - 1; i >= 0; i--){
if(!nums.contains(number / num2[i])){
nums.add(number / num2[i]);
}
}
for (int elem : nums){
str += elem;
}
return str.indexOf(k + "") != -1 ? true : false;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
long count = 0;
int[] numbers = new int[n];
for(int i = 0; i < n; i++){
numbers[i] = sc.nextInt();
if (canChu(numbers[i], k)){
count = (count + 1) % 20210101;
}else {
continue;
}
}
System.out.println(count);
sc.close();
}
} 虽然我美团大概率已经凉凉了,但还是想知道其它几题的思路,望各位大佬指点一下~~~~~~ 
