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

Leetcode17-好数对的数目(1512)

1、题目

给你一个整数数组 nums 。

如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。

返回好数对的数目。

示例 1:

输入:nums = [1,2,3,1,1,3]
输出:4
解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始
示例 2:

输入:nums = [1,1,1,1]
输出:6
解释:数组中的每组数字都是好数对
示例 3:

输入:nums = [1,2,3]
输出:0

提示:

1 <= nums.length <= 100
1 <= nums[i] <= 100

2、解

暴力解

    int numIdenticalPairs(vector<int> &nums){int result = 0;for(int i = 0; i < nums.size() - 1; i++){for(int j = i + 1; j < nums.size(); j++){if(nums[i] == nums[j]) result++;}}return result;}

另解
在题解里边看到的一个绝妙解
思路就是把nums中的每个数据看作temp数组的下标(该下标从1开始, 出现间隙不用管, 比如nums={2, 3, 7}, 对应temp={0, 1, 1, 0, 0 , 0 ,1}), 遍历nums然后把对应temp的位置做++操作记录每个数据出现次数即可, 关于对数的话, 找到规律发现其实就是把每次遍历数据出现次数-1叠加起来。
比如:{2, 3, 7}→{0, 1, 1, 0, 0 , 0 ,1},好数对为0;
{2, 3, 7,2}→{0, 2, 1, 0, 0 , 0 ,1},好数对为1。
可以理解为第一次出现的数字就占了萝卜坑了,如果后边再次出现就代表它刚好满足值相等,且出现位置索引值是大于第一次出现该数字的索引值的(遍历顺序本就是从小到大)。

    int numIdenticalPairsA(vector<int> &nums){int result = 0;int temp[100] = {};for(auto num : nums){result += temp[num - 1];temp[num -1]++;}return result;}

相关文章:

Leetcode17-好数对的数目(1512)

1、题目 给你一个整数数组 nums 。 如果一组数字 (i,j) 满足 nums[i] nums[j] 且 i < j &#xff0c;就可以认为这是一组 好数对 。 返回好数对的数目。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3,1,1,3] 输出&#xff1a;4 解释&#xff1a;有 4 组好数对&am…...

Ubuntu22.04开机左上角下划线闪烁不开机

按下CtrlAltF2&#xff0c;打开TTY系统&#xff0c;然后通过用户名和密码登录&#xff0c;随后使用 sudo apt --fix-broken install 根据提示排除错误信息&#xff0c;然后使用apt安装lightdm安装就行。 tips:当使用EasyConnect的时候&#xff0c;你可能参考了下面这篇文章知…...

提升测试多样性,揭秘Pytest插件pytest-randomly

大家可能知道在Pytest测试生态中&#xff0c;插件扮演着不可或缺的角色&#xff0c;为开发者提供了丰富的功能和工具。其中&#xff0c;pytest-randomly 插件以其能够引入随机性的特性而备受欢迎。本文将深入探讨 pytest-randomly 插件的应用&#xff0c;以及如何通过引入随机性…...

C++学习笔记(三十二):c++ 堆内存与栈内存比较

本节对堆和栈内存进行描述。 应用程序启动后&#xff0c;操作系统将整个程序加载到内存&#xff0c;分配相应的物理ram&#xff0c;确保程序可以正常运行。堆和栈是ram中存在的两个区域。栈通常是一个预定义大小的内存区域&#xff0c;一般是2M字节左右。堆也是预定了默认值的…...

探索Shadowsocks-Android:保护你的网络隐私

探索Shadowsocks-Android&#xff1a;保护你的网络隐私 I. 引言 在数字时代&#xff0c;网络隐私和安全变得愈发重要。我们越来越依赖互联网&#xff0c;但同时也面临着各种网络限制和监控。在这个背景下&#xff0c;Shadowsocks-Android应用程序应运而生&#xff0c;为用户提…...

蓝桥杯练习题(二)

&#x1f4d1;前言 本文主要是【算法】——蓝桥杯练习题&#xff08;二&#xff09;的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 …...

将文本文件导入Oracle数据库的简便方法:SQL Developer

需求 我有一个文本文件dbim.txt&#xff0c;是通过alert log生成的&#xff0c;内容如下&#xff1a; 2020-09-11 2020-09-11 ... 2023-12-03 2023-12-03 2023-12-26我已经在Oracle数据库中建立了目标表&#xff1a; create table dbim(a varchar(16));我想把日志文件导入Or…...

Mac iTerm2 配置

Mac iTerm2 配置 安装 brew install iTerm2安装完成之后&#xff0c;需要重新打开终端&#xff0c;既可以看见安装 iTerm2 的效果。 iTerm2 美化 使用 oh-my-zsh 美化 iTerm2 终端 安装 brew install wget sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/mast…...

R语言下载安装及VScode配置

文章目录 1. R 下载和安装1.1 下载1.2 安装 2. VSCODE 配置2.1 安装R拓展2.2 安装R语言辅助功能包2.3 DEBUG 1. R 下载和安装 1.1 下载 网址&#xff1a;https://www.r-project.org/ 选择一个镜像地址下载 选择对应的版本 一般选择base即可 1.2 安装 下载安装包后按提示安装…...

【hyperledger-fabric】部署Java应用远程访问智能合约

简介 首先是根据b站的视频 hyperledger-fabric【3】在 java 应用中访问合约 以及hyperledger-fabric【5】Java应用和私有数据&#xff0c;本文章主要讲述的是视频中我遇到的问题&#xff0c;以及相关知识点的总结。 遇到的问题 问题1&#xff1a;git clone下载下来的代码发现…...

SpringBoot 调用mybatis报错:Invalid bound statement (not found):

启动SpringBoot报错&#xff1a;Invalid bound statement (not found): 参考此文排查 命中了第6条 记录一手坑爹的Invalid bound statement (not found)&#xff08;六个方面&#xff09; mapper文件路径配置错误 订正以后 问题解决...

PHP开发日志 ━━ 不同方法判断某个数组中是否存在指定的键名,测试哪种方法效率高

我们可以用isset($arr[a]) 或者 array_key_exists(a, $arr) 来判断a键名是否存在与$arr数组。 那么这两种方式哪个运行速度快呢&#xff1f; 不多废话了&#xff0c;现在我们写一段代码来测试一下&#xff1a; $array [a > 1, b > 2, c > 3];$start microtime(tru…...

【pytorch学习】 深度学习 教程 and 实战

pytorch编程实战博主&#xff1a;https://github.com/lucidrains https://github.com/lucidrains/vit-pytorch...

js中和Vue中的事件委托(事件代理)的实现方法

目录 一、事件委托&#xff08;事件代理&#xff09; 1、事件委托的优点 2、事件委托的缺点 3、为什么要使用事件委托 4、事件委托实现原理 5、DOM事件流 6、事件委托的实现方法 1、vue写法 1.1、html代码 1.2、js代码 2、原生的写法其实也差不多&#xff1a; 2.1、…...

C++学习笔记——对象的指针

目录 一、对象的指针 二、减少对象的复制开销 三、应用案例 游戏引擎 图像处理库 数据库管理系统 航空航天软件 金融交易系统 四、代码的案例应用 一、对象的指针 是一种常用的技术&#xff0c;用于处理对象的动态分配和管理。使用对象的指针可以实现以下几个方面的功…...

QT5.14 实现ModbusTCP客户端 Demo

本文在QT5.14平台&#xff0c;基于QModbusClientTcp类&#xff0c;实现了客户端对单个寄存器的读写&#xff0c;用ModbusSlave做服务器做测试。 1.界面 (1)更改读按钮的名称为bt_Read (2)更改写按钮的名称为bt_Write 2.修改pro文件的第三行 greaterThan(QT_MAJOR_VERSION, 4)…...

c++析构函数

析构函数的简述 1. 析构函数和构造函数类似&#xff0c;是c规定当对象的生命周期结束时&#xff0c;默认你会调用析构函数。 2. 同理&#xff0c;当我们不写析构函数的时候&#xff0c;编译器会自动生成一个空实现的析构函数。 3. 析构函数只能编译器自己调用&#xff0c;我们…...

nodejs 服务端token 高效缓存验证

在前后端分离开发过程中,经常涉及权限验证的问题,一般都是采用由服务端根据前端传递的用户名和密码,验证成功后生成token,然后前端在访问服务端接口时,再附带token访问。 如果服务端高频次的解析token,进行内容验证,则会大大降低接口性能,而采用内存或者redis进行合法…...

C++内存管理机制(侯捷)笔记2

C内存管理机制&#xff08;侯捷&#xff09; 本文是学习笔记&#xff0c;仅供个人学习使用。如有侵权&#xff0c;请联系删除。 参考链接 Youtube: 侯捷-C内存管理机制 Github课程视频、PPT和源代码: https://github.com/ZachL1/Bilibili-plus 下面是第二讲allocator具体实…...

java基础之异常练习题

异常 1.Java 中所有的错误/异常都继承自 Throwable类&#xff1b;在该类的子类中&#xff0c; Error 类表示严重的底层错误&#xff0c; 对于这类错误一般处理的方式是 直接报告并终止程序 &#xff1b; Exception 类表示异常。 2.查阅API&#xff0c;完成以下填空&#xff1a;…...

4大技术引擎破解魔兽争霸3现代适配难题

4大技术引擎破解魔兽争霸3现代适配难题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 当经典RTS游戏遇上现代硬件环境&#xff0c;总会面临兼容性的严…...

智慧树自动学习助手:三分钟实现高效网课学习的完整指南

智慧树自动学习助手&#xff1a;三分钟实现高效网课学习的完整指南 【免费下载链接】zhihuishu 智慧树刷课插件&#xff0c;自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 还在为智慧树平台冗长的网课视频而烦恼吗&#xff1…...

从梁模型到软体手指:Abaqus仿真进阶,如何为超弹性材料模型设置Ogden参数?

从梁模型到软体手指&#xff1a;Abaqus仿真进阶&#xff0c;如何为超弹性材料模型设置Ogden参数&#xff1f; 在工程仿真领域&#xff0c;线性分析往往只是起点。当面对像软体机器人手指这样的柔性结构时&#xff0c;传统梁模型已无法准确描述其大变形行为。硅胶等超弹性材料的…...

多进程和多线程的特点和区别

小编觉得&#xff0c;多进程和多线程的差异主要体现在以下三个方面&#xff1a; 1. 资源隔离 多线程属于同一进程&#xff0c;共享进程的堆内存和全局变量&#xff0c;因此线程间可以直接访问彼此共享的数据。但需要注意的是&#xff0c;每个线程也拥有自己私有的栈空间&…...

中文医学知识图谱构建指南:从技术痛点到价值落地

中文医学知识图谱构建指南&#xff1a;从技术痛点到价值落地 【免费下载链接】CMeKG_tools 项目地址: https://gitcode.com/gh_mirrors/cm/CMeKG_tools 破解医学文本处理的三重困境 当前医学NLP领域面临着专业术语识别难、实体边界模糊、关系抽取准确率低的三重挑战。…...

ncmdumpGUI:网易云音乐NCM文件转换完全解决方案

ncmdumpGUI&#xff1a;网易云音乐NCM文件转换完全解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 为什么你的付费音乐无法自由播放&#xff1f;——N…...

基于FireRedASR-AED-L与AIGC技术:自动生成语音错误分析报告

基于FireRedASR-AED-L与AIGC技术&#xff1a;自动生成语音错误分析报告 想象一下这个场景&#xff1a;你的团队刚刚完成了一轮大规模的语音识别系统测试&#xff0c;收集了上千小时的音频数据。接下来&#xff0c;你需要从海量的识别结果中&#xff0c;找出哪些词识别错了&…...

seo优化一个月大概要花费多少_seo 优化一个月需要多少预算

SEO 优化一个月需要多少预算&#xff1a;详细分析与实用建议 在当今的数字时代&#xff0c;网站的SEO优化是提升网站流量和品牌知名度的关键。SEO 优化一个月大概要花费多少&#xff0c;SEO 优化一个月需要多少预算呢&#xff1f;这个问题困扰着许多企业和个人。本文将从问题分…...

为Qwen-VL“点亮”视觉思维:从注意力热力图洞察多模态对齐的深层逻辑

1. 理解Qwen-VL的视觉思维机制 当你第一次看到Qwen-VL这类视觉语言模型时&#xff0c;可能会好奇它究竟是如何"看"图片的。想象一下&#xff0c;你正在教一个小朋友看图说话&#xff1a;小朋友会先扫视整张图片&#xff0c;然后目光停留在某些关键区域&#xff0c;最…...

OpenClaw+Qwen3-14b_int4_awq自动化写作:从资料收集到排版发布

OpenClawQwen3-14b_int4_awq自动化写作&#xff1a;从资料收集到排版发布 1. 为什么需要自动化写作工作流 作为一个技术博主&#xff0c;我经常面临这样的困境&#xff1a;明明有大量想分享的内容&#xff0c;却总被繁琐的写作流程拖累。从资料收集、大纲梳理到内容生成和格式…...