滴滴 编程题 xor以及 235 丑数 ac答案
//第一题xor ,往前找,不知道对不对,反正ac了,ac了也不一定能面试^_^
import java.util.Scanner;
public class xor {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
int num = sc.nextInt();
int[] arr = new int[num];
for (int i = 0; i < num; i++) {
arr[i] = sc.nextInt();
}
int count = 0;
int[] flag = new int[num];
for (int i = 0; i < num; i++) {
if (arr[i] == 0) {
flag[i] = -1;
count++;
} else {
int temp = arr[i];
for (int j = i-1; j>=0; j--) {
if (flag[j] == -1) {
break;
}
if ((temp ^ arr[j]) == 0) {
flag[i] = -1;
count++;
break;
} else {
temp = temp ^ arr[j];
}
}
}
}
System.out.println(count);
}
}
}
//第二题 2 3 5 因子题 打表 测试用例只有10000以内的数
import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;
public final class ugly {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
Set <Long> s =new TreeSet<Long>();
int max =10000;
while(sc.hasNext())
{
int num =sc.nextInt();
for(int i =1;i<max;i*=2)
{
for(int j=1;i*j<max;j*=3)
{
for(int k=1;k*i*j<max;k*=5)
{
s.add((long)i*j*k);
}
}
}
s.add((long)1);
int count =1;
for(Long l:s)
{ if(count ==num)
{
System.out.println(l);
break;
}
count++;
}
}
}
}
#滴滴##Java工程师#
