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

2024.1.8每日一题

LeetCode

回旋镖的数量

447. 回旋镖的数量 - 力扣(LeetCode)

题目描述

给定平面上 n互不相同 的点 points ,其中 points[i] = [xi, yi]回旋镖 是由点 (i, j, k) 表示的元组 ,其中 ij 之间的距离和 ik 之间的欧式距离相等(需要考虑元组的顺序)。

返回平面上所有回旋镖的数量。

示例 1:

输入:points = [[0,0],[1,0],[2,0]]
输出:2
解释:两个回旋镖为 [[1,0],[0,0],[2,0]] 和 [[1,0],[2,0],[0,0]]

示例 2:

输入:points = [[1,1],[2,2],[3,3]]
输出:2

示例 3:

输入:points = [[1,1]]
输出:0

提示:

  • n == points.length
  • 1 <= n <= 500
  • points[i].length == 2
  • -104 <= xi, yi <= 104
  • 所有点都 互不相同

思路

枚举 + 哈希表

代码

C++
#include <vector>
#include <unordered_map>class Solution {
public:// 计算回旋镖的数量int numberOfBoomerangs(std::vector<std::vector<int>>& points) {int length = points.size();if (length < 3) return 0;int ans = 0;// 遍历所有点for (int i = 0; i < length; i++) {std::unordered_map<int, int> counter;// 计算距离并统计相同距离的点for (int j = 0; j < length; j++) {int dist = (points[i][0] - points[j][0]) * (points[i][0] - points[j][0]) +(points[i][1] - points[j][1]) * (points[i][1] - points[j][1]);int same = counter[dist];ans += same;counter[dist]++;}}// 每组回旋镖的数量乘以2,因为可以交换点的顺序return ans * 2;}
};
Java
class Solution {public int numberOfBoomerangs(int[][] points) {int length = points.length;if(length < 3) return 0;int ans = 0;for(int i = 0; i < length; i++){Map<Integer,Integer> counter = new HashMap<>();for(int j = 0; j < length; j++){int dist = (points[i][0] - points[j][0]) * (points[i][0] - points[j][0]) + (points[i][1] - points[j][1]) * (points[i][1] - points[j][1]);int smae = counter.getOrDefault(dist,0);ans += smae;counter.put(dist, smae + 1);}}return ans * 2;}
}

image-20240108190336005

相关文章:

2024.1.8每日一题

LeetCode 回旋镖的数量 447. 回旋镖的数量 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定平面上 n 对 互不相同 的点 points &#xff0c;其中 points[i] [xi, yi] 。回旋镖 是由点 (i, j, k) 表示的元组 &#xff0c;其中 i 和 j 之间的距离和 i 和 k 之间的欧式…...

看了致远OA的表单设计后的思考

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbacheng/n…...

mmdetection训练自己的数据集

mmdetection训练自己的数据集 这里写目录标题 mmdetection训练自己的数据集一&#xff1a; 环境搭建二&#xff1a;数据集格式转换(yolo转coco格式)yolo数据集格式coco数据集格式yolo转coco数据集格式yolo转coco数据集格式的代码 三&#xff1a; 训练dataset数据文件配置config…...

MySQL取出N列里最大or最小的一个数据

如题&#xff0c;现在有3列&#xff0c;都是数字类型&#xff0c;要取出这3列里最大或最小的的一个数字 -- N列取最小 SELECT LEAST(temperature_a,temperature_b,temperature_c) min FROM infrared_heat-- N列取最大 SELECT GREATEST(temperature_a,temperature_b,temperat…...

编写.NET的Dockerfile文件构建镜像

创建一个WebApi项目&#xff0c;并且创建一个Dockerfile空文件&#xff0c;添加以下代码&#xff0c;7.0代表的你项目使用的SDK的版本&#xff0c;构建的时候也需要选择好指定的镜像tag FROM mcr.microsoft.com/dotnet/aspnet:7.0 AS base WORKDIR /app EXPOSE 80 EXPOSE 443F…...

【C语言】浙大版C语言程序设计(第三版) 练习7-4 找出不是两个数组共有的元素

前言 最近在学习浙大版的《C语言程序设计》&#xff08;第三版&#xff09;教材&#xff0c;同步在PTA平台上做对应的练习题。这道练习题花了比较长的时间&#xff0c;于是就写篇博文记录一下我的算法和代码。 2024.01.03 题目 练习7-4 找出不是两个数组共有的元素 作者 张彤…...

7.27 SpringBoot项目实战 之 整合Swagger

文章目录 前言一、Maven依赖二、编写Swagger配置类三、编写接口配置3.1 控制器Controller 配置描述3.2 接口API 配置描述3.3 参数配置描述3.4 忽略API四、全局参数配置五、启用增强功能六、调试前言 在我们实现了那么多API以后,进入前后端联调阶段,需要给前端同学提供接口文…...

创建第一个SpringMVC项目,入手必看!

文章目录 创建第一个SpringMVC项目&#xff0c;入手必看&#xff01;1、新建一个maven空项目&#xff0c;在pom.xml中设置打包为war之前&#xff0c;右击项目添加web框架2、如果点击右键没有添加框架或者右击进去后没有web框架&#xff0c;点击左上角file然后进入项目结构在模块…...

go 切片长度与容量的区别

切片的声明 切片可以看成是数组的引用&#xff08;实际上切片的底层数据结构确实是数组&#xff09;。在 Go 中&#xff0c;每个数组的大小是固定的&#xff0c;不能随意改变大小&#xff0c;切片可以为数组提供动态增长和缩小的需求&#xff0c;但其本身并不存储任何数据。 …...

回归和分类区别

回归任务&#xff08;Regression&#xff09;&#xff1a; 特点&#xff1a; 输出是连续值&#xff0c;通常是实数。任务目标是预测或估计一个数值。典型应用包括房价预测、销售额预测、温度预测等。 目标&#xff1a; 最小化预测值与真实值之间的差异&#xff0c;通常使用…...

docker nginx滚动日志配置

将所有日志打印到控制台 nginx.conf user nginx; worker_processes auto; # 日志打印控制台 error_log /dev/stdout; #error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid;events {worker_connections 1024; }http {include /etc/nginx/m…...

大数据分析案例-基于LinearRegression回归算法构建房屋价格预测模型

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…...

React-hook-form-mui(一):基本使用

前言 在项目开发中&#xff0c;我们选择了ReactMUI作为技术栈。在使用MUI构建form表单时&#xff0c;我们发现并没有与antd类似的表单验证功能&#xff0c;于是我们选择了MUI推荐使用的react-hook-form-mui库去进行验证。但是发现网上关于这个库的使用方法和demo比较少且比较简…...

python总结-生成器与迭代器

生成器与迭代器 生成器生成器定义为什么要有生成器创建生成器的方式一(生成器表达式) 创建生成器的方式二(生成器函数)生成器函数的工作原理总结 迭代器概念可迭代对象和迭代器区别for循环的本质创建一个迭代器 动态添加属性和方法运行过程中给对象、类添加属性和方法types.Met…...

MySQL如何从数据中截取所需要的字符串

MySQL如何从数据中截取所需要的字符串 背景 有这样的一个场景,我想从我的表里面进行数据截取&#xff0c;我的数据内容大致如下&#xff1a; 张三-建外SOHO-2-16 POA 20210518.pdf 我想获取数据中的&#xff1a;20210518这一日期部分&#xff0c;需要如何实现&#xff1f; 解…...

动态加载和动态链接的区别

动态加载&#xff08;Dynamic Loading&#xff09;和动态链接&#xff08;Dynamic Linking&#xff09;是两个与程序运行时加载和使用代码相关的概念&#xff0c;它们有一些区别&#xff1a; 动态加载&#xff08;Dynamic Loading&#xff09;&#xff1a; 定义&#xff1a; 动…...

js数组循环,当前循环完成后执行下次循环

前言 上图中&#xff0c;点击播放icon&#xff0c;图中左边地球视角会按照视角列表依次执行。u3D提供了api,但是我们如何保证在循环中依次执行。即第一次执行完成后&#xff0c;再走第二次循环。很多人的第一思路就是promise。对&#xff0c;不错&#xff0c;出发的思路是正确的…...

决策树(Decision Trees)

决策树&#xff08;Decision Trees&#xff09;是一种基于树形结构进行决策的模型&#xff0c;广泛应用于分类和回归任务。它通过对数据集进行递归划分&#xff0c;构建一棵树&#xff0c;每个节点代表一个特征&#xff0c;每个分支代表一个决策规则&#xff0c;叶节点存储一个…...

湖南大学-计算机网路-2023期末考试【部分原题回忆】

前言 计算机网络第一门考&#xff0c;而且没考好&#xff0c;回忆起来的原题不多。 这门学科学的最认真&#xff0c;复习的最久&#xff0c;考的最差。 教材使用这本书&#xff1a; 简答题&#xff08;6*530分&#xff09; MTU和MSS分别是什么&#xff0c;联系是什么&#x…...

LCD—液晶显示

本节主要介绍以下内容 显示器简介 液晶控制原理 秉火3.2寸液晶屏简介 使用FSMC模拟8080时序 NOR FLASH时序结构体 FSMC初始化结构体 一、显示器简介 显示器属于计算机的I/O设备&#xff0c;即输入输出设备。它是一种将特定电子信息输出到屏幕上再反射到人眼的显示工具。…...

EDK II代码质量门禁报告:全面解析门禁检查结果与最佳实践

EDK II代码质量门禁报告&#xff1a;全面解析门禁检查结果与最佳实践 【免费下载链接】edk2 EDK II 项目地址: https://gitcode.com/gh_mirrors/ed/edk2 EDK II作为现代、功能丰富的跨平台UEFI和PI规范固件开发环境&#xff0c;其代码质量门禁系统是确保固件可靠性和安全…...

重构直播互动体验:BLiveChat的跨平台弹幕解决方案

重构直播互动体验&#xff1a;BLiveChat的跨平台弹幕解决方案 【免费下载链接】blivechat 用于OBS的仿YouTube风格的bilibili直播评论栏 项目地址: https://gitcode.com/gh_mirrors/bl/blivechat BLiveChat作为一款开源的B站直播弹幕工具&#xff0c;通过仿YouTube风格的…...

如何快速搭建QQ机器人?LuckyLilliaBot入门指南

如何快速搭建QQ机器人&#xff1f;LuckyLilliaBot入门指南 【免费下载链接】LuckyLilliaBot NTQQ的OneBot API插件 项目地址: https://gitcode.com/gh_mirrors/li/LuckyLilliaBot 在数字化时代&#xff0c;QQ机器人开发已成为自动化交互的重要工具。LuckyLilliaBot作为N…...

深度解析Windows微信自动化:Wechaty Puppet XP零成本架构设计与实战指南

深度解析Windows微信自动化&#xff1a;Wechaty Puppet XP零成本架构设计与实战指南 【免费下载链接】puppet-xp Wechaty Puppet WeChat Windows Protocol 项目地址: https://gitcode.com/gh_mirrors/pu/puppet-xp 在即时通讯自动化领域&#xff0c;Windows平台微信机器…...

CGAL-6.0.1在Win11与VS2019环境下的高效编译与配置指南

1. 环境准备&#xff1a;搭建Win11VS2019开发环境 在开始编译CGAL-6.0.1之前&#xff0c;我们需要确保开发环境配置正确。我实测发现&#xff0c;Win11系统与VS2019的组合存在一些特殊配置需求&#xff0c;这里分享几个关键检查点&#xff1a; 首先确认VS2019的安装组件。打开V…...

Python AOT编译卡在wasm-ld阶段?揭秘2026年新引入的WASI-SDK v22.0工具链冲突——附3行patch脚本+验证清单

第一章&#xff1a;Python AOT编译卡在wasm-ld阶段&#xff1f;揭秘2026年新引入的WASI-SDK v22.0工具链冲突——附3行patch脚本验证清单自2026年WASI-SDK v22.0发布以来&#xff0c;Python官方AOT编译流程&#xff08;基于pyodide-build aot&#xff09;在链接阶段频繁阻塞于w…...

FJSP:蛇鹫优化算法(SBOA)求解柔性作业车间调度问题(FJSP),提供MATLAB代码

FJSP&#xff1a;蛇鹫优化算法&#xff08;SBOA&#xff09;求解柔性作业车间调度问题&#xff08;FJSP&#xff09;&#xff0c;提供MATLAB代码当车间调度遇上非洲大草原的蛇鹄&#xff0c;会碰撞出什么样的火花&#xff1f;今天咱们用MATLAB实现一种新颖的群智能算法——蛇鹄…...

2024版idea引入lombok总是报错解决方法

在创建SpringBoot文件时不勾选lombok&#xff0c;然后自己手动导入lombok并指定版本玛德这idea的SpringBoot中导入lombok后我使用Data总是说我的get和set方法有毛病&#xff0c;一怒之下我直接就是疯狂搜如何解决lombok引用问题&#xff0c;结果不是让我去勾选一个东西就是让我…...

终极指南:从NumPy到Pydantic的Claude-Code-Usage-Monitor依赖管理完整解析

终极指南&#xff1a;从NumPy到Pydantic的Claude-Code-Usage-Monitor依赖管理完整解析 【免费下载链接】Claude-Code-Usage-Monitor Real-time Claude Code usage monitor with predictions and warnings 项目地址: https://gitcode.com/gh_mirrors/cl/Claude-Code-Usage-Mon…...

网络安全这个技能学会了,不考研也能迅速找到高薪工作

网络安全这个技能学会了&#xff0c;不考研也能迅速找到高薪工作 近几年“考研热”持续升温&#xff0c;报名人数和报录比屡创新高。据数据显示&#xff1a;2003年全国考研人数仅仅才70万&#xff0c;直至2017年考研人数才刚刚突破200万。而今年考研人数居高达457万&#xff0…...