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

力扣(LeetCode)1726. 同积元组(C++)

哈希表

请看示例,可发现规律:乘积相同的两个数对,存在8种排列,满足同积元组的要求。于是有结论:乘积相同的两个数对,对答案的贡献是ans=ans+8.

如上所述,我们需要先知道数对的乘积,才知道乘积相同的数对个数。请看如下步骤:遍历数组nums的数对组合,求数对的乘积,之所以遍历数对组合是根据题意避免重复计算。统计乘积相同的数对数目(哈希表存储{数对乘积, 数对数目}),即可计算对答案的贡献,求出答案。

设n个乘积相同的数对,有 C n 2 C_n^2 Cn2种组合, C n 2 = n × ( n − 1 ) 2 C^2_n=\dfrac{n\times(n-1)}{2} Cn2=2n×(n1),对答案的贡献: C n 2 × 8 = n × ( n − 1 ) 2 × 8 C^2_n \times 8=\dfrac{n\times(n-1)}{2}\times 8 Cn2×8=2n×(n1)×8

class Solution {
public:int tupleSameProduct(vector<int>& nums) {unordered_map<int, int> mp;int ans = 0;for (int i = 0; i < nums.size(); i ++) {for (int j = i + 1; j < nums.size(); j ++) {mp[nums[i] * nums[j]] ++; // 统计组合数的乘积}}for (unordered_map<int, int>::iterator it = mp.begin(); it != mp.end(); it ++) {ans += (*it).second * ((*it).second - 1) / 2 * 8;}return ans;}
};

时间复杂度 O ( n 2 ) O(n^2) O(n2):统计组合数的乘积的时间复杂度 O ( n 2 ) O(n^2) O(n2)

空间复杂度 O ( n 2 ) O(n^2) O(n2):数对乘积全然不同时,最坏空间复杂度 O ( n 2 ) O(n^2) O(n2)

致语
  • 理解思路很重要。
  • 请读者放心留言,可以是疑惑的点,或者讨论!!墨染看到会回复的。

相关文章:

力扣(LeetCode)1726. 同积元组(C++)

哈希表 请看示例&#xff0c;可发现规律&#xff1a;乘积相同的两个数对&#xff0c;存在8种排列&#xff0c;满足同积元组的要求。于是有结论&#xff1a;乘积相同的两个数对&#xff0c;对答案的贡献是ansans8. 如上所述&#xff0c;我们需要先知道数对的乘积&#xff0c;才…...

LAXCUS分布式操作系统是怎么实现的?

一直有网友要求讲讲LAXCUS分布式操作系统是怎么实现的&#xff0c;其实LAXCUS分布式操作系统的设计研发&#xff0c;涉及各种基础技术和底层架构&#xff0c;研发过程很漫长&#xff0c;一直在坚持&#xff0c;实现过程也非常复杂&#xff0c;尤其重要的是要保证运行过程&#…...

香港服务器的速度为什么比较快

租用过海外服务器的用户的都知道&#xff0c;在这么多免备案的服务器产品中&#xff0c;租用香港服务器的速度是最快的&#xff0c;对于身在国内的网站 运营者或者企业租用香港服务器搭建网站&#xff0c;针对大陆用户不仅仅体验是最好的&#xff0c;其次也方便网站的管理者对于…...

PhotoShop批量压缩图片

打开photoshop&#xff0c;在顶部的菜单栏选择文件》脚本》图像处理器。 选择合适的参数&#xff0c;运行即可。...

零基础入门网络渗透到底要怎么学?_网络渗透技术自学

前言&#xff1a; 很多朋友问我&#xff0c;想搞网络安全&#xff0c;编程重要吗&#xff0c;选什么语言呢&#xff1f; 国内其实正经开设网络安全专业的学校很少&#xff0c;大部分同学是来自计算机科学、网络工程、软件工程专业的&#xff0c;甚至很多非计算机专业自学的。…...

一个可以解决企业跨网文件交换难题的软件所具备的特性必须有哪些

在当今数字化办公的浪潮中&#xff0c;企业跨网文件交换成为了不可忽视的重要需求。无论是内部网络还是外部网络&#xff0c;都存在着各种跨网文件交换的场景&#xff0c;然而这一过程也面临着一系列的挑战。本文将深入探讨企业跨网文件交换的难题以及一款可以解决企业跨网文件…...

【根据车间号[81321000]未找到ERP逻辑仓】

以条码Z42310062781622举例&#xff0c;WMS集成报错。 先说业务逻辑&#xff1a; 新建包装工单&#xff0c;维护包装批次管制时&#xff0c;会把包装批次管制里的部门信息传给115。 赛龙捷包装后&#xff0c;会根据115里的这个部门对应的车间号&#xff0c;返还给MES。 MES会…...

Dapr v1.12 正式发布:发件箱模式是亮点

Dapr 是一种可移植、事件驱动的运行时&#xff0c;使任何开发人员都可以轻松构建在云和边缘运行的弹性、无状态和有状态应用程序&#xff0c;并支持多种语言和开发框架。 Dapr 1.12.0 发布&#xff01;以下是 v1.12 版本的亮点&#xff0c;发件箱模式 是最大亮点&#xff1a; …...

RedisObject

前言 Redis 是一个基于内存的&#xff0c;以 Key-Value 形式存储数据的 NoSQL 数据库。 相较于其它 NoSQL 数据库&#xff0c;Redis 提供了更丰富的数据类型和 API&#xff0c;开发者可以基于 Redis 实现数据缓存、消息队列、分布式锁等场景。 Redis 底层用一个全局哈希表来存…...

【剑指Offer】31.栈的压入、弹出序列

题目 输入两个整数序列&#xff0c;第一个序列表示栈的压入顺序&#xff0c;请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序&#xff0c;序列4,5,3,2,1是该压栈序列对应的一个弹出序列&#xff0c;但4,3,5,1,2就…...

Linux设置开机自启动奇安信可信浏览器,并配置默认页面

1. 先安装奇安信可信浏览器 安装完成后&#xff0c;会在/usr/share/applications/目录下生成一个 qaxbrowser-safe.desktop文件。 2.配置fixfox开机自启动 使用root用户进行如下操作&#xff1a; 将qaxbrowser-safe.desktop 文件复制到 ~/.config/autostart/ 目录下&#xf…...

flink1.15 异步维表Join 用于外部数据访问的异步 I/O scala版本

官方文档 Asynchronous I/O for External Data Access 异步 I/O | Apache Flink 核心问题 问什么有官方文档,我还要写个博客,因为scala Future这块有坑. 1 为什么我的算子显示反压100% 2 为什么我的任务不报错,也没有输出 3 Future对象我该怎么构建,有哪些注意事项. pom …...

Elasticsearch Relevance Engine---为AI变革提供高级搜索能力[ES向量搜索、常用配置参数、聚合功能等详解]

Elasticsearch Relevance Engine—为AI变革提供高级搜索能力[ES向量搜索、常用配置参数、聚合功能等详解] 今天要介绍的 Elasticsearch Relevance Engine™ (ESRE™)&#xff0c;提供了多项用于创建高度相关的 AI 搜索应用程序的新功能。ESRE 站在 Elastic 这个搜索领域的巨人…...

微信小程序之会议OA系统首页布局搭建与Mock数据交互

目录 前言 一、Flex 布局&#xff08; 分类 编程技术&#xff09; 1、Flex布局是什么&#xff1f; 2、基本概念 3、容器的属性 3.1 flex-direction属性 3.2 flex-wrap属性 3.3 flex-flow 3.4 justify-content属性 3.5 align-items属性 3.6 align-content属性 4、项目…...

动态规划解股票类型

文章目录 单只股票买卖多次买卖单只股票最多两次买卖股票最多买k次含冷静期含手续费 单只股票买卖 买卖股票的最佳时机 关键思路&#xff1a;找到一个值&#xff0c;他与之后的最大值之差最大。 用minprice记录最小的值&#xff0c;用maxprofit记录最大的收益。 想清楚一个点…...

前端用 js-file-download组件下载后端返回的pdf,word,excel文件

后端返回的pdf,word,excel的文件流导出需要让浏览器下载文件 1、安装js-file-download组件 npm install js-file-download --save 2、在对应的页面引用 import fileDownload from "js-file-download"; 3、在接口返回结果后直接调用即可 let data{id:processId,c…...

Mac硬盘检测工具

Mac硬盘检测软件是一款用于检测和诊断Mac硬盘健康状态的工具&#xff0c;帮助用户及时发现潜在的硬盘问题&#xff0c;避免数据丢失和系统故障。通过全面的检测和报告功能&#xff0c;用户可以更好地了解自己的硬盘状况&#xff0c;确保数据的安全和可靠。给大家介绍几款好用的…...

一篇文章解密如何轻松实现移动应用的电子和手绘PDF签名功能!

对PDF文件签名是移动设备上越来越普遍的使用需求&#xff0c;本文将描述自动生成/“手绘”签名与如何使用DevExpress Office File API组件来实现在.NET MAUI应用程序中快速合并签名/签名支持之间的区别。 DevExpress Office File API是一个专为C#, VB.NET 和 ASP.NET等开发人员…...

【大数据】Kafka 入门简介

Kafka 入门简介 1.什么是 Kafka2.Kafka 的基本概念3.Kafka 分布式架构4.配置单机版 Kafka4.1 下载并解压包4.2 启动 Kafka4.3 创建 Topic4.4 向 Topic 中发送消息4.5 从 Topic 中消费消息 5.实验5.1 实验一&#xff1a;Python 实现生产者消费者5.2 实验二&#xff1a;消费组实现…...

Unity可视化Shader工具ASE介绍——8、UI类型的特效Shader编写

阿赵的Unity可视化Shader工具ASE介绍目录 Unity的UGUI图片特效角色闪卡效果 大家好&#xff0c;我是阿赵。   继续介绍Unity可视化Shader编辑插件ASE的使用。这次讲一下UI类特效Shader的写法。 一、例子说明 这次编写一个Shader&#xff0c;给一张UGUI里面的图片增加一个闪卡…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

在 Spring Boot 项目里,MYSQL中json类型字段使用

前言&#xff1a; 因为程序特殊需求导致&#xff0c;需要mysql数据库存储json类型数据&#xff0c;因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目&#xff0c;设置虚拟环境&#xff0c;出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

2.2.2 ASPICE的需求分析

ASPICE的需求分析是汽车软件开发过程中至关重要的一环&#xff0c;它涉及到对需求进行详细分析、验证和确认&#xff0c;以确保软件产品能够满足客户和用户的需求。在ASPICE中&#xff0c;需求分析的关键步骤包括&#xff1a; 需求细化&#xff1a;将从需求收集阶段获得的高层需…...

Java多线程实现之Runnable接口深度解析

Java多线程实现之Runnable接口深度解析 一、Runnable接口概述1.1 接口定义1.2 与Thread类的关系1.3 使用Runnable接口的优势 二、Runnable接口的基本实现方式2.1 传统方式实现Runnable接口2.2 使用匿名内部类实现Runnable接口2.3 使用Lambda表达式实现Runnable接口 三、Runnabl…...

RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上

一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema&#xff0c;不需要复杂的查询&#xff0c;只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 &#xff1a;在几秒钟…...