美团笔试题之查找幸运星
题目其实很简单,特别简单,当时看一眼题目我心中就有思路了,问题就是我卡在了如何循环输入上了,简直是不可思议,
当时我想复杂了,现在看来如此简单的问题我卡了这么久,实在是不应该啊,写这篇博客的目的就是记录一下如何循环输入。
题目:
本地IDE中的解答,原来循环输入这么简单
package cn.ycl;
import java.util.Scanner;
//美团笔试题第一题,找幸运星
public class Main {
public static void main(String args[]) {
Scanner sca = new Scanner(System.in);
int sum = sca.nextInt();// 输入总数
int [][]a=new int[sum][2];
for (int i = 0; i < sum; i++) {
// 输入sum次
a[i][0]=sca.nextInt();
a[i][1]=sca.nextInt();
}
//检查是否为幸运星
int minX=10000,maxX=0,minY=10000,maxY=0;
for (int i = 0; i < a.length; i++) {
//当在同一个x轴时(即y相等),找出y的极端值
if (minX>a[i][1]) minX=a[i][1];
if (maxX<a[i][1]) maxX=a[i][1];
//当在同一个Y轴时(即x相等),找出x的极端值,
if (minY>a[i][0]) minY=a[i][0];
if (maxY<a[i][0]) maxY=a[i][0];
}
int count=0;
for (int i = 0; i < a.length; i++) {
//只要y不是极端值,它上下就都有值 ; 只要x不是极端值,它左右就都有值
if (a[i][0] !=minY && a[i][0] !=maxY &&a[i][1] !=minX && a[i][1] !=maxX ) {
count++;
}
}
System.out.println(count);
}
}
结果:
我是“道祖且长”,一个在互联网苟且偷生的Java程序员