当前位置: 首页 > news >正文

华为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在线答疑。

在这里插入图片描述

http://www.lryc.cn/news/172854.html

相关文章:

  • sql on条件判断是要注意null值
  • 9.22(一):数组扁平化
  • 【vue2第十九章】手动修改ESlint错误 和 配置自动化修改ESlint错误
  • 计算机网络常见面试题
  • springboot整合MeiliSearch轻量级搜索引擎
  • 禁用鼠标的侧边按键
  • 【C语言】数组和指针刷题练习
  • 2023年中国研究生数学建模竞赛D题解题思路
  • 在编译源码的环境下,搭建起Discuz!社区论坛和WordPress博客的LNMP架构
  • 腾讯面试题:无网络环境,如何部署Docker镜像?
  • 医学影像信息(PACS)系统软件源码
  • 【01】FISCOBCOS的系统环境安装
  • flutter 权限和图片权限之前的冲突
  • OpenCV(四十八):读取视频和保存视频
  • 如何在react/next.js app中的同级组件间传递数据
  • 软件需求文档、设计文档、开发文档、运维文档大全
  • 排序算法-----归并排序
  • docker 配置 gpu版pytorch环境--部署缺陷检测--Anomalib
  • 为什么定时发朋友圈会更有效呢?
  • 【跟小嘉学 PHP 程序设计】一、PHP 开发环境搭建
  • 【zookeeper】zk选举、使用与三种节点简介,以及基于redis分布式锁的缺点的讨论
  • Unity截图生成图片 图片生成器 一键生成图片
  • Matlab图像处理-区域特征
  • golang 自动生成文件头
  • Excel中的宏、VBA
  • 2023华为杯数学建模研赛思路分享——最全版本A题深度解析
  • 【校招VIP】测试方案之测试需求分析
  • 滚珠螺母的清洁方式
  • leetcode做题笔记148. 排序链表
  • 多线程学习