博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2016百度编程题:裁减网格纸
阅读量:5225 次
发布时间:2019-06-14

本文共 804 字,大约阅读时间需要 2 分钟。

度度熊有一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数x,y来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。 
输入描述:
第一行一个数n(2≤n≤1000)表示点数,接下来每行一对整数xi,yi(-1e9<=xi,yi<=1e9)表示网格上的点
输出描述:
一行输出最小面积
输入例子:
2 0 0 0 3
输出例子:
9 解题 第一反应求任意了点横纵坐标差的绝对值的最大值,时间复杂度O(N*N) 这样应该不好,然后考虑到这一的正方形其作用的点在左上 和 右下,只有这两个点起作用,左上最小点 则右下就是最大点,这样只要线性时间就可以了。 有一点要说明下,下面对 横坐标 和纵坐标 的最值 是分开计算的,由于x的最小可能对于y的最大,两者相对独立的
import java.util.Scanner;public class Main{    public static void main(String[] args){        Scanner in = new Scanner(System.in);        while(in.hasNext()){            int n = in.nextInt();            int minX = in.nextInt();            int minY = in.nextInt();            int maxX = minX;            int maxY = minY;            for(int i = 0;i

 

转载于:https://www.cnblogs.com/theskulls/p/5306908.html

你可能感兴趣的文章
Atlas命名空间Sys.Data下控件介绍——DataColumn,DataRow和DataTable
查看>>
Java中正则表达式的使用
查看>>
算法之搜索篇
查看>>
新的开始
查看>>
java Facade模式
查看>>
NYOJ 120校园网络(有向图的强连通分量)(Kosaraju算法)
查看>>
SpringAop与AspectJ
查看>>
Leetcode 226: Invert Binary Tree
查看>>
http站点转https站点教程
查看>>
解决miner.start() 返回null
查看>>
关于MFC中窗口的销毁
查看>>
bzoj 2007: [Noi2010]海拔【最小割+dijskstra】
查看>>
BZOJ 1001--[BeiJing2006]狼抓兔子(最短路&对偶图)
查看>>
C# Dynamic通用反序列化Json类型并遍历属性比较
查看>>
128 Longest Consecutive Sequence 一个无序整数数组中找到最长连续序列
查看>>
定制jackson的自定义序列化(null值的处理)
查看>>
auth模块
查看>>
javascript keycode大全
查看>>
前台freemark获取后台的值
查看>>
log4j.properties的作用
查看>>