当前位置: 首页 > 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里面的图片增加一个闪卡…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接&#xff1a;3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯&#xff0c;要想要能够将所有的电脑解锁&#x…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

MMaDA: Multimodal Large Diffusion Language Models

CODE &#xff1a; https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA&#xff0c;它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构&#xf…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

C++_哈希表

本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、基础概念 1. 哈希核心思想&#xff1a; 哈希函数的作用&#xff1a;通过此函数建立一个Key与存储位置之间的映射关系。理想目标&#xff1a;实现…...

React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构

React 实战项目&#xff1a;微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇&#xff01;在前 29 篇文章中&#xff0c;我们从 React 的基础概念逐步深入到高级技巧&#xff0c;涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...