19秋招 360 Java服务端开发笔试编程题分享

编程题
1.城市修建

时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:

有一个城市需要修建,给你N个民居的坐标X,Y,问把这么多民居全都包进城市的话,城市所需最小面积是多少(注意,城市为平行于坐标轴的正方形)

输入

第一行为N,表示民居数目(2≤N≤1000)

下面为N行,每行两个数字Xi,Yi,表示该居民的坐标(-1e9≤xi,yi≤1e9)

输出

城市所需最小面积


样例输入

2

0 0

2 2

样例输出

4


Hint

补充样例

输入样例2

2

0 0

0 3

输出样例2

9


2.看花

时间限制:C/C++语言 1000MS;其他语言 3000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:

小明有一个花园,花园里面一共有m朵花,对于每一朵花,都是不一样的,小明用1~m中的一个整数表示每一朵花。

他很喜欢去看这些花,有一天他看了n次,并将n次他看花的种类是什么按照时间顺序记录下来。

记录用a[i]表示,表示第i次他看了a[i]这朵花。

小红很好奇,她有Q个问题,问[l,r]的时间内,小明一共看了多少朵不同的花儿,小明因为在忙着欣赏他的花儿,所以想请你帮他回答这些问题。

输入

输入两个数n,m;(1<=n<=2000,1<=m<=100);分别表示n次看花,m表示一共有m朵花儿。

接下来输入n个数a[1]~a[n],a[i]表示第i次,小明看的花的种类;

输入一个数Q(1<=Q<=1000000);表示小红的问题数量。

输入Q行 每行两个数 l,r(1<=l<=r<=n); 表示小红想知道在第l次到第r次,小明一共看了多少不同的花儿。

输出

一共Q行

每一行输出一个数 表示小明在[l,r]的时间内看了多少种花。


样例输入

5 3

1 2 3 2 2

3

1 4

2 4

1 5

样例输出

3

2

3

【选答题】Array

时间限制:C/C++语言 3000MS;其他语言 5000MS
内存限制:C/C++语言 65536KB;其他语言 589824KB

题目描述:

小红有两个长度为n的排列A和B。每个排列由[1,n]数组成,且里面的数字都是不同的。

现在要找到一个新的序列C,要求这个新序列中任意两个位置(i,j)满足:

如果在A数组中C[i]这个数在C[j]的后面,那么在B数组中需要C[i]这个数在C[j]的前面。

请问C序列的长度最长为多少呢?

输入

第一行一个整数,表示N。

第二行N个整数,表示A序列。

第三行N个整数,表示B序列。

满足:N<=50000

输出

输出最大的长度


样例输入

5

1 2 4 3 5

5 2 3 4 1

样例输出

2

#秋招##笔试题目##360公司##Java工程师#
全部评论

相关推荐

点赞 22 评论
分享
牛客网
牛客企业服务