【每日一题Day352】LC1726同积元组 | 哈希表+排列组合
同积元组【LC1726】
给你一个由 不同 正整数组成的数组
nums,请你返回满足a * b = c * d的元组(a, b, c, d)的数量。其中a、b、c和d都是nums中的元素,且a != b != c != d。
-
思路
求出所有二元组的积及其出现次数,假设某个积出现的次数为 a a a,那么其对应的组合数有
C a 2 = a ∗ ( a − 1 ) / 2 C_a^2=a*(a-1)/2 Ca2=a∗(a−1)/2
由于题意求的是排列数,即两个二元组顺序可以交换,二元组内部顺序也可以交换,那么最后的排列数还需要乘以8 -
实现
使用哈希表存储每个二元组对应的出现次数,在统计次数的同时求出排列数
class Solution {public int tupleSameProduct(int[] nums) {Map<Integer, Integer> map = new HashMap<>();int n = nums.length, res = 0;for (int i = 0; i < n; i++){for (int j = i + 1; j < n; j++){int p = nums[i] * nums[j];int count = map.getOrDefault(p, 0);res += count * 8;map.put(p, map.getOrDefault(p, count) + 1);}}return res;} }-
复杂度
- 时间复杂度: O ( n 2 ) O(n^2) O(n2)
- 空间复杂度: O ( n ) O(n) O(n)
-
相关文章:
【每日一题Day352】LC1726同积元组 | 哈希表+排列组合
同积元组【LC1726】 给你一个由 不同 正整数组成的数组 nums ,请你返回满足 a * b c * d 的元组 (a, b, c, d) 的数量。其中 a、b、c 和 d 都是 nums 中的元素,且 a ! b ! c ! d 。 思路 求出所有二元组的积及其出现次数,假设某个积出现的次…...
react中在js文件里定义的变量,如何在less文件里去使用该变量
在 React 中,如果在 JS 文件中定义了变量,可以使用 CSS Modules 的方式将变量导出到 LESS 文件中。 以下是示例代码: // index.js import React from react; import styles from ./styles.module.less;const color red;function App() {re…...
TIA博途中通过SCATTER指令实现将字节BYTE拆分成单个位的具体方法示例
TIA博途中通过SCATTER指令实现将字节BYTE拆分成单个位的具体方法示例 例如: 我们想判断某个字节中各个位的状态是1还是0 ,如何实现呢? 这里介绍通过SCATTER指令拆分字节的方法,仅供大家参考。 首先,我们先了解以下SCATTER指令的基本功能和使用方法: 如下图所示,在基本指…...
网络协议--ARP:地址解析协议
4.1 引言 本章我们要讨论的问题是只对TCP/IP协议簇有意义的IP地址。数据链路如以太网或令牌环网都有自己的寻址机制(常常为48 bit地址),这是使用数据链路的任何网络层都必须遵从的。一个网络如以太网可以同时被不同的网络层使用。例如&#…...
pdf导出实例(itestpdf)
依赖 <!-- https://mvnrepository.com/artifact/com.itextpdf/itextpdf --><dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.10</version></dependency>工具类 package or…...
关于CW32单片机pack包安装 KEIL IAR
CW32 系列微控制器软件开发工具入门 芯片包 1. 下载芯片包 官方下载链接:武汉鑫源半导体 2. 安装芯片包 双击芯片包.pack文件 支持 CW32F 系列的 IDE 支持 CW32F 系列的工具链: • • EWARM v7.70 或更高版本 MDK-ARM v5.17 或更高版本 2.1 EW…...
memcpy内存拷贝函数
目录 一、memcpy内存拷贝函数 注意事项 二、memcpy与strcpy对比 三、模拟实现memcpy函数 四、memcpy函数不能进行两块存在内存重叠的空间的内存拷贝 五、改进my_memcpy函数 一、memcpy内存拷贝函数 头文件:string.h 函数原型:void* memcpy(void* …...
数组模拟堆
文章目录 QuestionIdeasCode Question 维护一个集合,初始时集合为空,支持如下几种操作: I x,插入一个数 x ; PM,输出当前集合中的最小值; DM,删除当前集合中的最小值(数…...
【深度学习基础知识(一):卷积神经网络CNN基础知识】
深度学习基础知识 深度学习基础知识(一):卷积神经网络CNN基础知识 卷积神经网络CNN基础知识 0、目录 1. CNN卷积神经网络的特点 2. 卷积操作基础知识 2.1 卷积操作的概念2.2 卷积操作的种类2.3 卷积操作后特征图谱大小计算公式 3. 池化操…...
Git使用入门
一、Git简介 Git 是一个开源的分布式版本控制系统。 Git版本控制的功能为保存不同版本的代码,保存代码的地方叫做仓库。 每个仓库中有多个分支,每个分支上又有很多节点,每个节点代表一个版本,不同的分支可以进行合并࿰…...
电机矢量控制算法和例程
电机矢量控制算法是一种高级的电机控制方法,它通过将电机转子空间矢量转换到旋转坐标系中,并在该坐标系中进行控制来实现对电机的精确控制。下面是对电机矢量控制算法的详细解释: 坐标系变换:电机矢量控制首先将电机转子空间矢量变…...
std::string_view概念原理及应用
概念 使用const string&作为参数是先使用字符串字面量编译器会创建一个临时字符串对象然后创建std::string。 或者一个函数提供char*和const string&参数的两个版本函数,不是优雅的解决方案。 于是需要一个只使用内存不维护内存的类。 原理 在visual s…...
lodash库_.chunk、_.pick、_.omit、_.cloneDeep、_.debounce方法
lodash 模块化、高性能的 JavaScript 实用工具库。官方文档:https://www.lodashjs.com 1.对数组进行分组 _.chunk(array, [size1]) 使用场景,如移动端页面一行能放5个元素,总共7条数据,将一维数组转为二维数组,让一个…...
Java使用FFmpeg对视频文件打标记
免安装 FFmpeg <dependency><groupId>ws.schild</groupId><artifactId>jave-all-deps</artifactId><version>3.0.1</version><exclusions><!-- 排除windows 32位系统 --><exclusion><groupId>ws.sch…...
Redux 学习笔记
在使用 React Redux 前,我们首先了解一下 Redux 的一些基础知识。 Redux 是 JavaScript 应用程序中用于状态管理的容器。它不依赖于任何框架,可以与任何 UI 库和框架一起使用。在应用程序中使用 Redux 时,Redux 是以可预测的方式管理状态。 …...
【Bug】8086汇编学习
文章目录 随笔Bug1、masm编译报错:Illegal use of register2、debug中使用段前缀3、[idata]在编译器中的处理4、push立即数报错5、报错:improper operand type6、程序莫名跳转到未知位置 (doing)7、DOSBox失去响应8、程序运行显示乱码9、程序运行导致DOS…...
JetBrains系列IDE全家桶激活
jetbrains全家桶 正版授权,这里有账号授权的渠道: https://www.mano100.cn/thread-1942-1-1.html 附加授权后的一张图片...
洛谷p1618三连击
import java.util.Scanner; //将 1-9 共9个数分成3组,分别组成3个三位数,且使这3个三位数构成A:B:C的比例,试求出所有满足条件的3个三位数。不满足输出“No!!!”。 public class Main {public static void main(String[] args) {Scanner sc …...
微信公众号h5写一个全局调用微信分享功能
1. 首先先安装依赖 npm install weixin-js-sdk --save 2. app.vue文件 <script> export default { onLaunch: function(e) {}, onShow: function(e) { console.log(App Show页面初始); // 路由参数存缓存的 这是为了防止他…...
聊聊精益需求的产生过程
这是鼎叔的第七十八篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。 欢迎关注本公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。本人新书《无测试组织-测试团队的敏捷转型》已出版ÿ…...
抖音批量下载终极神器:三分钟搞定无水印视频采集
抖音批量下载终极神器:三分钟搞定无水印视频采集 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖…...
抖音评论采集终极指南:3步零代码实现自动化数据抓取
抖音评论采集终极指南:3步零代码实现自动化数据抓取 【免费下载链接】TikTokCommentScraper 项目地址: https://gitcode.com/gh_mirrors/ti/TikTokCommentScraper 还在为手动复制抖音评论而烦恼吗?想要批量获取视频评论数据却苦于没有技术背景&a…...
Python量化分析新利器:3分钟掌握Mootdx通达信数据读取
Python量化分析新利器:3分钟掌握Mootdx通达信数据读取 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx Mootdx是一个强大的Python开源库,专门用于读取通达信本地数据文件&am…...
开源工具douyin-downloader:破解抖音内容保存难题的技术方案与实践指南
开源工具douyin-downloader:破解抖音内容保存难题的技术方案与实践指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browse…...
还在为多平台直播手忙脚乱?obs-multi-rtmp让你一次搞定所有平台
还在为多平台直播手忙脚乱?obs-multi-rtmp让你一次搞定所有平台 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 你是否曾经历过这样的场景:晚上8点直播开始&…...
PUBG压枪难?罗技鼠标宏5步帮你成为射击高手
PUBG压枪难?罗技鼠标宏5步帮你成为射击高手 【免费下载链接】logitech-pubg PUBG no recoil script for Logitech gaming mouse / 绝地求生 罗技 鼠标宏 项目地址: https://gitcode.com/gh_mirrors/lo/logitech-pubg 还在为《绝地求生》中的后坐力控制而烦恼…...
别再搞混了!SVA里$rose和$fell的用法,和你想的‘边沿’真不一样
深入解析SystemVerilog断言中的$rose与$fell:打破边沿检测的认知误区 刚接触SystemVerilog断言(SVA)的硬件工程师们,常常会带着Verilog的思维惯性去理解$rose和$fell函数。这种先入为主的认知往往会导致断言编写出现微妙却关键的偏差——我曾在一个PCIe接…...
终极指南:深度掌握SketchUp STL插件高效3D打印工作流
终极指南:深度掌握SketchUp STL插件高效3D打印工作流 【免费下载链接】sketchup-stl A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export. 项目地址: https://gitcode.com/gh_mirrors/sk/sketchup-stl SketchUp ST…...
工业级实战:Java优化YOLO推理全流程,帧率稳定突破30FPS实时检测
前言 在工业视觉检测、智能安防、现场实时识别等落地场景中,Java凭借其跨平台兼容性、成熟的企业级生态以及稳定的运行特性,依旧是大量后端与桌面视觉项目的核心开发语言。但谈及YOLO系列目标检测模型的推理部署,业内普遍存在固有认知&#x…...
MATLAB优化实战:从fminsearch到fmincon的工程问题求解
1. MATLAB优化工具箱入门:从实际问题到数学模型 第一次接触MATLAB优化工具箱时,我被它强大的功能震撼到了。记得当时正在做一个机械臂参数标定的项目,需要根据实验数据反推关节参数。这个问题本质上就是个典型的无约束优化问题,正…...
