腾讯4.26研发笔试疑问
有没有大佬来帮忙指点指点
第一题很有把握的一道题最后却是0通过,想破脑袋也不知道哪里错了
第一题很有把握的一道题最后却是0通过,想破脑袋也不知道哪里错了
import java.util.Scanner;
public class 实现队列以及基本操作 {
public static class ArrayToQueue {
public Integer[] arr;
public int size;
public int start;
public int end;
// 初始化队列
public ArrayToQueue(int initSize) {
if (initSize < 0) {
}
arr = new Integer[initSize];
size = 0;
start = 0;
end = 0;
}
// 向队列中放入一个数
public void push(int obj) {
if (size == arr.length) {
System.out.println("-1");
}
size++;
// 该数放在 end 的位置上,因为 end 位置是上下移动的;
arr[end] = obj;
// end 如果到底即 Length-1,就等于 0,从头开始写入数据,可以覆盖之前的元素;如果没有到底就 end + 1;
end = (end == arr.length - 1) ? 0 : end + 1;
// if(end==arr.length-1)
// end=0;
// else end++;
}
// 弹出队列头部元素
public Integer pop() {
if (size == 0) {
System.out.println("-1");
}
size--;
// 因为 start 位置要改变,所有使用临时变量 tmp 记录一下 start 位置,最终弹出的是原始 start 位置元素;
int tmp = start;
start = (start == arr.length - 1) ? 0 : start + 1;
// if(start == arr.length - 1)
// start=0;
// else ++start;
return arr[tmp];
}
// 取出队列头部的元素,但是队列不动
public int peek() {
if (size == 0) {
System.out.println("-1");
}
return arr[start];
}
//
public void clear()
{
//自定义的
arr = new Integer[999999];
size = 0;
start = 0;
end = 0;
}
}
public static void main(String[] args)
{
Scanner scanner=new Scanner(System.in);
int T=Integer.valueOf(scanner.nextLine());
for(int i=0;i<T;++i)
{
int n=Integer.valueOf(scanner.nextLine());
ArrayToQueue arrayToQueue=new ArrayToQueue(999999);
for(int j=0;j<n;++j)
{
String op=scanner.nextLine();
if(op.startsWith("PUSH"))
{
String[] ops=op.split(" ");
int obj=Integer.valueOf(ops[1]);
arrayToQueue.push(obj);
}
else if(op.equals("TOP"))
{
System.out.println(arrayToQueue.peek());
}
else if(op.equals("POP"))
{
Integer ii=arrayToQueue.pop();
}
else if(op.equals("SIZE"))
{
System.out.println(arrayToQueue.size);
}
else if(op.equals("CLEAR"))
{
arrayToQueue.clear();
}
else
{
System.out.println("-1");
}
}
}
}
} 求最短距离的暴力ac也是0,我哭了
import java.util.ArrayList;
import java.util.Scanner;
public class 腾讯3 {
static class point
{
public int a;
public int b;
public point(int a,int b)
{
this.a=a;
this.b=b;
}
}
public static double calu(point p1,point p2)
{
return Math.sqrt((p1.a-p2.a)*(p1.a-p2.a)+(p1.b-p2.b)*(p1.b-p2.b));
}
public static void main(String[] args)
{
ArrayList<point> arrayLista=new ArrayList<point>();
ArrayList<point> arrayListb=new ArrayList<point>();
Scanner scanner=new Scanner(System.in);
// int T=Integer.valueOf(scanner.nextLine());\
int T=scanner.nextInt();
for(int i=0;i<T;++i)
{
// int n=Integer.valueOf(scanner.nextLine());
int n=scanner.nextInt();
for(int j=0;j<n;++j)
{
int a=scanner.nextInt();
int b=scanner.nextInt();
arrayLista.add(new point(a,b));
}
double min=99999999.999;
for(int j=0;j<n;++j)
{
int a=scanner.nextInt();
int b=scanner.nextInt();
point p=new point(a,b);
arrayListb.add(p);
for(point pp:arrayLista)
{
double length=calu(p,pp);
if(length<min) min=length;
}
}
String double_str=String.format("%.3f",min);
System.out.println(Double.valueOf(double_str));
}
}
} #笔试题目##腾讯#
OPPO公司福利 1202人发布