360机试

Posted ruo-li-suo-yi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了360机试相关的知识,希望对你有一定的参考价值。

一、

 技术分享图片

1、

#include<iostream>
#include<algorithm> 

using namespace std;

struct node{  //结构体定义点 
    int x;
    int y;
}d[1000];

int main()
{
	int n;
	while(cin>>n)
	{
		int xmin,xmax,ymin,ymax;  //四个最大最小坐标点 
		for(int i=0;i<n;i++)
		{
			cin>>d[i].x>>d[i].y;
		}
		xmin=d[0].x;  //赋初始值 
		xmax=d[0].x;
		ymin=d[0].y;
		ymax=d[0].y;
		for(int i=1;i<n;i++)
		{
			if(xmin>d[i].x){
				xmin=d[i].x;
			}
			if(xmax<d[i].x){
				xmax=d[i].x;
			}
			if(ymin>d[i].y){
				ymin=d[i].y;
			}
			if(ymax<d[i].y){
				ymax=d[i].y;
			}
		}
		int l;
		l=max(xmax-xmin,ymax-ymin); //求出面积 
		cout<<l*l;	
	}
	return 0; 
} 

通过率36% ,由于忽略了int 的范围。

int 范围 [-2^31 , 2^31 -1] 即 [-2147483648,2147483647]

所以很容易溢出。

技术分享图片

出错

2、

#include<iostream>
#include<algorithm> 

using namespace std;

struct node{  //结构体定义点 
    long long x,y; 
}d[1000];

int main()
{
	int n;
	while(cin>>n)
	{
		long long xmin,xmax,ymin,ymax;  //四个最大最小坐标点 
		for(int i=0;i<n;i++)
		{
			cin>>d[i].x>>d[i].y;
		}
		xmin=d[0].x;  //赋初始值 
		xmax=d[0].x;
		ymin=d[0].y;
		ymax=d[0].y;
		for(int i=1;i<n;i++)
		{
			if(xmin>d[i].x){
				xmin=d[i].x;
			}
			if(xmax<d[i].x){
				xmax=d[i].x;
			}
			if(ymin>d[i].y){
				ymin=d[i].y;
			}
			if(ymax<d[i].y){
				ymax=d[i].y;
			}
		}
		long long l;
		l=max(xmax-xmin,ymax-ymin); //求出面积 
		cout<<(l*l);	
	}
	return 0; 
} // 2 800000000 900000000 -800000000 -900000000 

用 long long 数据格式才可以。

 技术分享图片

各种数据类型范围

技术分享图片

 

以上是关于360机试的主要内容,如果未能解决你的问题,请参考以下文章

华为OD机试真题Java实现单词反转真题+解题思路+代码(2022&2023)

华为OD机试真题Python实现翻转单词顺序真题+解题思路+代码(2022&2023)

华为OD机试 - 单词反转(Python)| 真题含思路

华为OD机试真题Java实现匿名信真题+解题思路+代码(2022&2023)

华为OD机试 - 单词反转(JavaScript) | 机试题算法思路 2023

牛课网——华为机试练习题