昨晚做了携程的笔试,感觉自己编程练习得太少了,解题速度很慢,即使题目不难。看到题目的时候觉得好像不是很难,心里轻松了不少,结果第一题的时候有个循环一直转不过来,然后就开始乱了。第三题审题出了问题,一直不理解给出的样例输出第一个0究竟是什么意思,理解错了题目,本来是做出来了但是因为理解不了0的意思,所以AC不了,最后心态就崩了。最后一分钟的时候突然明白第一题要怎么做,就是改两句代码的事,时间也不够了。总之是挺辣鸡挺遗憾的一次笔试的,就当积累经验了。以后还是多刷leetcode吧,经过这两次笔试发现有时候在本地编译器能过的程序放到leetcode或者牛客网之类的会AC不了,还是得多在上面练习一下。
放上昨晚的一三题,不知道如果昨晚提交的是这个能不能AC,em....我在eclipse上的测试用例是能过。
import java.util.Scanner;
public class xiecheng01 {
public static void main(String[] args) {
Scanner in =new Scanner(System.in);
int length=in.nextInt();
int[] nums=new int[length];
int count=0;
for(int i=0; i<length; i++) {
nums[i]=in.nextInt();
if(nums[i] == 0)
count++;
}
int temp=0;
for(int j=0; j<count+1; j++) {
for(int i=0; i<length-1; i++) {
if(nums[i] == 0) {
temp=nums[i];
nums[i]=nums[i+1];
nums[i+1]=temp;
}
}
}
for(int i=0; i<length; i++) {
System.out.println(nums[i]);
}
}
}
import java.util.Scanner;
public class xiecheng03 {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt(); //房型数量
int[][] message=new int[n][3];
for(int i=0; i<n; i++) {
for(int j=0; j<3; j++)
message[i][j]=in.nextInt();
}
int[] client=new int[3];
for(int i=0; i<3; i++)
client[i]=in.nextInt();
int[] out= new int[n+1];
for(int i=0; i<n; i++) {
if(message[i][0] >= client[0] && message[i][1] >= client[1]) {
out[i]=client[2];
out[n]=client[2]*message[i][2];
}
else
out[i]=0;
}
if(out[0] == 0 && out[1]==0 && out[2] ==0)
System.out.println("-1");
else {
for(int i=0; i<2; i++) {
System.out.print(out[i]+",");
}
double out3=(double)out[2];
System.out.println(out3);
}
}
}
路还很长,加油吧。