华为OD机试 - 构成正方形的数量 - 数据结构map(Java 2023 B卷 100分)
目录
- 专栏导读
- 一、题目描述
- 二、输入描述
- 三、输出描述
- 四、Java算法源码
- 五、效果展示
- 1、输入
- 2、输出
- 3、说明
华为OD机试 2023B卷题库疯狂收录中,刷题点这里
专栏导读
本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。
一、题目描述
输入N个互不相同的二维整数坐标,求这N个坐标可以构成的正方形数量。[内积为零的的两个向量垂直]。
二、输入描述
第一行输入为N,N代表坐标数量,N为正整数。
之后的N行输入为坐标x y,以空格分隔。
x,y为整数,-10<=x,y<=10
三、输出描述
输出可以构成的正方形数量。
四、Java算法源码
package com.guor.od;import java.util.*;public class OdTest {public static void main(String[] args) {Scanner sc = new Scanner(System.in);// 坐标数量int N = sc.nextInt();// 3个坐标构不成正方形if (N <= 3) {System.out.println(0);return;}// 存储坐标x y的集合List<int[]> list = new ArrayList<>();for (int i = 0; i < N; i++) {// 坐标x yint[] arr = new int[2];arr[0] = sc.nextInt();arr[1] = sc.nextInt();list.add(arr);}int count = 0;Map<Integer, Integer> map = new HashMap<>();for (int i = 0; i < list.size() - 1; i++) {for (int j = i + 1; j < list.size(); j++) {int dist = getLength(list.get(i), list.get(j));map.put(dist, map.getOrDefault(dist, 0) + 1);}}for (int v : map.values()) {count += v * (v - 1) * (v - 2) * (v - 3) / 24;}System.out.println(count);}public static int getLength(int[] a, int[] b) {int x = a[0] - b[0];int y = a[1] - b[1];return x * x + y * y;}
}
五、效果展示
1、输入
4
0 0
1 2
3 1
2 -1
2、输出
1
3、说明
🏆下一篇:华为OD机试 - 荒岛求生 - 栈Stack(Java 2023 B卷 100分)
🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)
刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。
相关文章:

华为OD机试 - 构成正方形的数量 - 数据结构map(Java 2023 B卷 100分)
目录 专栏导读一、题目描述二、输入描述三、输出描述四、Java算法源码五、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷)》。 …...
sql on条件判断是要注意null值
我是因为用了merge into语法,然后on条件中判断的字段是可配置的,这就导致了,有时候判断条件多的情况下,判断的字段会碰到有null值的情况,如果on两边的字段都是null,null和null对比就会导致结果为false&…...

9.22(一):数组扁平化
ES6的flat方法 const arr[1,2,[33,44,5,[6,7]],3]// es6中的flat方法function arr1() { //数组自带的扁平化方法,flat的参数代表的是需要展开几层, //如果是Infinity的话,就是不管嵌套几层,全部都展开return arr.flat(Infinity) } let resul…...

【vue2第十九章】手动修改ESlint错误 和 配置自动化修改ESlint错误
目标:认识代码规范 代码规范:一套写代码的约定规则。例如:“赋值符号的左右是否需要空格”,"一句结束是否是要加;”等 为什么要使用代码规范? 在团队开发时,提高代码的可读性。 在创建项目时,我们选择的就是一套完整的代码…...

计算机网络常见面试题
目录 一、谈一谈对OSI七层模型和TCP/IP四层模型的理解? 答:OSI七层模型主要分为: TCP/IP四层协议: 二、谈谈TCP协议的3次握手过程? 三、TCP协议为什么要3次握手?2次,4次不行吗? …...

springboot整合MeiliSearch轻量级搜索引擎
一、Meilisearch与Easy Search点击进入官网了解,本文主要从小微型公司业务出发,选择meilisearch来作为项目的全文搜索引擎,还可以当成来mongodb来使用。 二、starter封装 1、项目结构展示 2、引入依赖包 <dependencies><dependenc…...
禁用鼠标的侧边按键
新买了个鼠标,整体都不错,就是鼠标左侧有两个按键,大拇指经常无意触碰到,造成误操作。 就想着关闭侧边按键功能。以下这批文章帮了大忙! 鼠标侧键屏蔽,再也不用担心按到侧键了。_禁用鼠标侧键_挣扎的蓝藻…...

【C语言】数组和指针刷题练习
指针和数组我们已经学习的差不多了,今天就为大家分享一些指针和数组的常见练习题,还包含许多经典面试题哦! 一、求数组长度和大小 普通一维数组 int main() {//一维数组int a[] { 1,2,3,4 };printf("%d\n", sizeof(a));//整个数组…...

2023年中国研究生数学建模竞赛D题解题思路
为了更好的帮助大家第一天选题,这里首先为大家带来D题解题思路,分析对应赛题之后做题阶段可能会遇到的各种难点。 稍后会带来D题的详细解析思路,以及相关的其他版本解题思路 成品论文等资料。 赛题难度评估:A、B>C>E、F&g…...

在编译源码的环境下,搭建起Discuz!社区论坛和WordPress博客的LNMP架构
目录 一.编译安装nginx 二.编译安装MySQL 三.编译安装PHP 四.安装论坛 五.安装wordpress博客 六.yum安装LNMP架构(简要过程参考) 一.编译安装nginx 1)关闭防火墙,将安装nginx所需软件包传到/opt目录下 systemctl stop fire…...

腾讯面试题:无网络环境,如何部署Docker镜像?
亲爱的小伙伴们,大家好!我是小米,很高兴再次和大家见面。今天,我要和大家聊聊一个特别有趣的话题——腾讯面试题:无网络环境,如何部署Docker镜像?这可是一个技术含量颇高的问题哦!废…...

医学影像信息(PACS)系统软件源码
PACS系统是PictureArchivingandCommunicationSystems的缩写,与临床信息系统(ClinicalInformationSystem,CIS)、放射学信息系统(RadiologyInformationSystem,RIS)、医院信息系统(HospitalInformationSystem,HIS)、实验室信息系统(L…...

【01】FISCOBCOS的系统环境安装
我们选择ubuntu系统 01 https://www.ubuntu.org.cn/global 02 03下载最新版 04等待下载 00提前准备好VM,点击创建新的虚拟机 01选择自定义安装 02一直下一步到 03 04 05其他的默认即可 06 07 08 09 10 11一直默认到下面 12 13等待安装 安装后重启即可…...
flutter 权限和图片权限之前的冲突
权限插件 permission_handler: ^9.2.0想调起相册和视频,这个插件只有Permission.storage.request().,获取存储权限。 问题是android 13的一些手机,系统设置没有存储权限,用了上面这个权限,三次拒绝后就永久拒绝了&…...
OpenCV(四十八):读取视频和保存视频
OpenCV(Open Source Computer Vision Library)是一个功能强大的开源计算机视觉库,它提供了丰富的功能,包括读取和保存视频。下面分别演示如何使用OpenCV来读取视频和保存视频。 1. 读取视频: 在OpenCV中我们要获取一…...
如何在react/next.js app中的同级组件间传递数据
这篇文章也可以在我的博客中查看 问题 为什么会有这么奇怪的需求?在事情真正发生前真的难说,但真遇到一个需要这么做的情况。 最近想做一个网页时钟,它的结构如下: 时钟(计算时间,组织各个要素ÿ…...

软件需求文档、设计文档、开发文档、运维文档大全
在软件开发过程中,文档扮演着至关重要的角色。它不仅记录了项目的需求、设计和开发过程,还为项目的维护和管理提供了便利。本文将详细介绍软件开发文档的重要性和作用,以及需求分析、软件设计、开发过程、运维管理和项目管理等方面的文档要求…...

排序算法-----归并排序
目录 前言: 归并排序 1. 定义 2.算法过程讲解 2.1大致思路 2.2图解示例 拆分合成步骤 编辑 相关动态图 3.代码实现(C语言) 4.算法分析 4.1时间复杂度 4.2空间复杂度 4.3稳定性 前言: 今天我们就开始学习新的排序算法…...

docker 配置 gpu版pytorch环境--部署缺陷检测--Anomalib
目录 一、docker 配置 gpu版pyhorch环境1、显卡驱动、cuda版本、pytorch cuda版本三者对应2、拉取镜像 二、部署Anomalib1、下载Anomalib2、创建容器并且运行3、安装Anomalib进入项目路径安装依赖测试: 一、docker 配置 gpu版pyhorch环境 1、显卡驱动、cuda版本、p…...

为什么定时发朋友圈会更有效呢?
这是因为在同一时段 发送的好友朋友圈 无法有效分散用户的注意力 导致曝光度难以提升 而通过推广定时发朋友圈 可根据自己的粉丝活跃度 设置发圈时间 让每一条朋友圈都能高效 传递到更多的好友手中 这样,曝光度自然而然地就大大提升了! 1.多个号…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...

JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
离线语音识别方案分析
随着人工智能技术的不断发展,语音识别技术也得到了广泛的应用,从智能家居到车载系统,语音识别正在改变我们与设备的交互方式。尤其是离线语音识别,由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力,广…...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里
写一个shell脚本,把局域网内,把能ping通的IP和不能ping通的IP分类,并保存到两个文本文件里 脚本1 #!/bin/bash #定义变量 ip10.1.1 #循环去ping主机的IP for ((i1;i<10;i)) doping -c1 $ip.$i &>/dev/null[ $? -eq 0 ] &&am…...
【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析
1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器(TI)推出的一款 汽车级同步降压转换器(DC-DC开关稳压器),属于高性能电源管理芯片。核心特性包括: 输入电压范围:2.95V–6V,输…...

Linux入门(十五)安装java安装tomcat安装dotnet安装mysql
安装java yum install java-17-openjdk-devel查找安装地址 update-alternatives --config java设置环境变量 vi /etc/profile #在文档后面追加 JAVA_HOME"通过查找安装地址命令显示的路径" #注意一定要加$PATH不然路径就只剩下新加的路径了,系统很多命…...
6.9本日总结
一、英语 复习默写list11list18,订正07年第3篇阅读 二、数学 学习线代第一讲,写15讲课后题 三、408 学习计组第二章,写计组习题 四、总结 明天结束线代第一章和计组第二章 五、明日计划 英语:复习l默写sit12list17&#…...