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

Leetcode.2341 数组能形成多少数对

题目链接

Leetcode.2341 数组能形成多少数对 Rating : 1185

题目描述

给你一个下标从 0 开始的整数数组 nums。在一步操作中,你可以执行以下步骤:

  • nums选出 两个 相等的 整数
  • nums中移除这两个整数,形成一个 数对

请你在 nums上多次执行此操作直到无法继续执行。

返回一个下标从 0 开始、长度为 2 的整数数组 answer作为答案,其中answer[0]是形成的数对数目,answer[1]是对 nums尽可能执行上述操作后剩下的整数数目。

示例 1:

输入:nums = [1,3,2,1,3,2,2]
输出:[3,1]
解释:
nums[0] 和 nums[3] 形成一个数对,并从 nums 中移除,nums = [3,2,3,2,2] 。
nums[0] 和 nums[2] 形成一个数对,并从 nums 中移除,nums = [2,2,2] 。
nums[0] 和 nums[1] 形成一个数对,并从 nums 中移除,nums = [2] 。
无法形成更多数对。总共形成 3 个数对,nums 中剩下 1 个数字。

示例 2:

输入:nums = [1,1]
输出:[1,0]
解释:nums[0] 和 nums[1] 形成一个数对,并从 nums 中移除,nums = [] 。
无法形成更多数对。总共形成 1 个数对,nums 中剩下 0 个数字。

示例 3:

输入:nums = [0]
输出:[0,1]
解释:无法形成数对,nums 中剩下 1 个数字。

提示:

  • 1<=nums.length<=1001 <= nums.length <= 1001<=nums.length<=100
  • 0<=nums[i]<=1000 <= nums[i] <= 1000<=nums[i]<=100

分析:

直接用 哈希表 记录遍历过的数字,模拟这个过程。

时间复杂度:O(n)O(n)O(n)

C++代码:

class Solution {
public:vector<int> numberOfPairs(vector<int>& nums) {int n = nums.size();unordered_set<int> uset;//能匹配的对数int cnt = 0;for(auto x:nums){if(!uset.count(x)){uset.insert(x);}else{cnt++;uset.erase(x);}}return {cnt,n - 2*cnt};}
};

Java代码:

class Solution {public int[] numberOfPairs(int[] nums) {Set<Integer> set = new HashSet<>();int n = nums.length;int cnt = 0;for(int x:nums){if(!set.contains(x)) set.add(x);else{cnt++;set.remove(x);}}return new int[]{cnt,n-2*cnt};}
}

相关文章:

Leetcode.2341 数组能形成多少数对

题目链接 Leetcode.2341 数组能形成多少数对 Rating : 1185 题目描述 给你一个下标从 0 开始的整数数组 nums。在一步操作中&#xff0c;你可以执行以下步骤&#xff1a; 从 nums选出 两个 相等的 整数从 nums中移除这两个整数&#xff0c;形成一个 数对 请你在 nums上多次执…...

C++复习笔记10

1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 2. list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指针指向其前一个元素和后一个元素。 3. list与for…...

leaflet 纯CSS的marker标记,不用图片来表示(072)

第072个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中使用纯CSS来打造marker的标记。这里用到的是L.divIcon来引用CSS来构造新icon,然后在marker的属性中引用。 这里必须要注意的是css需要是全局性质的,不能被scoped转义为其他随机的css。 直接复制下面的 v…...

Elasticsearch:使用 intervals query - 根据匹配项的顺序和接近度返回文档

Intervals query 根据匹配项的顺序和接近度返回文档。Intervals 查询使用匹配规则&#xff0c;由一小组定义构成。 然后将这些规则应用于指定字段中的术语。 这些定义产生跨越文本正文中的术语的最小间隔序列。 这些间隔可以通过父源进一步组合和过滤。 上述描述有点费解。我…...

无法决定博客主题的人必看!如何选择类型和推荐的 5 种选择

是否有人不能迈出第一步&#xff0c;因为博客的类型还没有决定&#xff1f;有些人在出发时应该行动&#xff0c;而不是思考&#xff0c;但让我们冷静下来&#xff0c;仔细想想。博客的难度因流派而异&#xff0c;这在很大程度上决定了随后的发展。因此&#xff0c;在选择博客流…...

数字化转型的成功模版,珠宝龙头曼卡龙做对了什么?

2月11日&#xff0c;曼卡龙&#xff08;300945.SZ&#xff09;发布2022年业绩快报&#xff0c;报告期内&#xff0c;公司实现营业收入16.11亿元&#xff0c;同比增长28.63%。来源&#xff1a;曼卡龙2022年度业绩快报曼卡龙能在2022年实现营收增长尤为不易。2022年受疫情影响&am…...

转换矩阵、平移矩阵、旋转矩阵关系以及python实现旋转矩阵、四元数、欧拉角之间转换

文章目录1. 转换矩阵、平移矩阵、旋转矩阵之间的关系2. 缩放变换、平移变换和旋转变换2. python实现旋转矩阵、四元数、欧拉角互相转化由于在平时总是或多或少的遇到平移旋转的问题&#xff0c;每次都是现查资料&#xff0c;然后查了忘&#xff0c;忘了继续查&#xff0c;这次弄…...

中国地图航线图(echarjs)

1、以上为效果图 需要jq、echarjs、china.json三个文件支持。以上 2、具体代码 DOM部分 <!-- 服务范围 GO--> <div class"m-maps"><div id"main" style"width:1400px;height: 800px; margin: 0 auto;"> </div> <!-…...

Python正则表达式中group与groups的用法详解

本文主要介绍了Python正则表达式中group与groups的用法详解&#xff0c;文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值&#xff0c;需要的朋友们下面随着小编来一起学习学习吧目录在Python中&#xff0c;正则表达式的group和groups方…...

c++练习题7

1&#xff0e;下列运算符中优先级最高的是 A&#xff09;> B&#xff09; C&#xff09; && D&#xff09;! 2&#xff0e;以下关于运算符优先级的描述中&#xff0c;正确的是 。 A&#xff09;!&#xff08;逻辑非&#x…...

MySQL学习

目录1、数据库定义基本语句&#xff08;1&#xff09;数据库操作&#xff08;2&#xff09;数据表操作2.数据库操作SQL语句&#xff08;1&#xff09;插入数据&#xff08;2&#xff09;更新语句&#xff08;3&#xff09;删除数据3.数据库查询语句&#xff08;1&#xff09;基…...

C语言(强制类型转换)

一.类型转换原则 1.升级&#xff1a;当类型转换出现在表达式时&#xff0c;无论时unsigned还是signed的char和short都会被自动转换成int&#xff0c;如有必要会被转换成unsigned int(如果short与int的大小相同&#xff0c;unsigned short就比int大。这种情况下&#xff0c;uns…...

搭建hadoop高可用集群(二)

搭建hadoop高可用集群&#xff08;一&#xff09;配置hadoophadoop-env.shworkerscore-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml/etc/profile拷贝集群首次启动1、先启动zk集群&#xff08;自动化脚本&#xff09;2、在hadoop151,hadoop152,hadoop153启动JournalNode…...

CentOS升级内核-- CentOS9 Stream/CentOS8 Stream/CentOS7

官方文档在此 升级原因 当我们安装一些软件(对,我说的就是Kubernetes),可能需要新内核的支持,而CentOS又比较保守,不太升级,所以需要我们手工升级. # 看下目前是什么版本内核 uname -a# 安装公钥 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org# 添加仓库,如果…...

【基础篇】一文掌握css的盒子模型(margin、padding)

1、CSS 盒子模型(Box Model) 所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素…...

重生之我是赏金猎人-漏洞挖掘(十一)-某SRC储存XSS多次BypassWAF挖掘

0x01&#xff1a;利用编辑器的超链接组件导致存储XSS 鄙人太菜了&#xff0c;没啥高质量的洞呀&#xff0c;随便水一篇文章吧。 在月黑风高的夜晚&#xff0c;某骇客喊我起床挖洞&#xff0c;偷瞄了一下发现平台正好出活动了&#xff0c;想着小牛试刀吧 首先信息收集了一下&a…...

Wails简介

https://wails.io/zh-Hans/docs/introduction 简介 Wails 是一个可让您使用 Go 和 Web 技术编写桌面应用的项目。 将它看作为 Go 的快并且轻量的 Electron 替代品。 您可以使用 Go 的灵活性和强大功能&#xff0c;结合丰富的现代前端&#xff0c;轻松的构建应用程序。 功能…...

滑动窗口 AcWing (JAVA)

给定一个大小为 n≤10^6 的数组。 有一个大小为 k 的滑动窗口&#xff0c;它从数组的最左边移动到最右边。 你只能在窗口中看到 k 个数字。 每次滑动窗口向右移动一个位置。 以下是一个例子&#xff1a; 该数组为 [1 3 -1 -3 5 3 6 7]&#xff0c;k 为 33。 窗口位置最小值最大…...

vue小案例

vue小案例 组件化编码流程 1.拆分静态组件&#xff0c;按功能点拆分 2.实现动态组件 3.实现交互 文章目录vue小案例组件化编码流程1.父组件给子组件传值2.通过APP组件给子组件传值。3.案例实现4.项目小细节1.父组件给子组件传值 父组件给子组件传值 1.在父组件中写好要传的值&a…...

阅读笔记3——空洞卷积

空洞卷积 1. 背景 空洞卷积&#xff08;Dilated Convolution&#xff09;最初是为解决图像分割的问题而提出的。常见的图像分割算法通常使用池化层来增大感受野&#xff0c;同时也缩小了特征图尺寸&#xff0c;然后再利用上采样还原图像尺寸。特征图先缩小再放大的过程造成了精…...

破解AutoDock Vina金属对接难题:3种专业方案实战深度解析

破解AutoDock Vina金属对接难题&#xff1a;3种专业方案实战深度解析 【免费下载链接】AutoDock-Vina AutoDock Vina 项目地址: https://gitcode.com/gh_mirrors/au/AutoDock-Vina AutoDock Vina作为最广泛使用的开源分子对接引擎之一&#xff0c;在处理含金属元素的蛋白…...

高分二号卫星全解析:从光谱波段到城市管理的实战应用

1. 高分二号卫星的技术参数详解 高分二号卫星作为我国首颗亚米级高分辨率民用光学遥感卫星&#xff0c;其技术参数直接决定了它在城市管理中的应用能力。先说说最核心的空间分辨率&#xff1a;全色波段0.8米意味着能清晰识别小轿车级别的物体&#xff0c;多光谱3.2米分辨率则适…...

别再只调包了!手把手拆解OpenCV车位识别核心代码:像素统计、背景建模与形态学处理

从像素到决策&#xff1a;OpenCV车位识别核心技术实战解析 停车场监控画面中那些看似简单的"空"或"满"状态判定&#xff0c;背后隐藏着一系列精妙的图像处理魔法。今天&#xff0c;我们将抛开现成的API&#xff0c;直接解剖计算机视觉在车位检测中的核心算…...

OpenClaw安全指南:GLM-4.7-Flash本地化部署权限管理

OpenClaw安全指南&#xff1a;GLM-4.7-Flash本地化部署权限管理 1. 为什么需要关注OpenClaw的安全问题 去年我在尝试用OpenClaw自动整理电脑上的项目文档时&#xff0c;差点酿成一场小灾难。当时我让AI助手帮我"清理重复文件"&#xff0c;结果它把我整个开发环境的…...

Imaginary跨域资源共享(CORS)终极配置指南:前端图像处理无障碍集成

Imaginary跨域资源共享(CORS)终极配置指南&#xff1a;前端图像处理无障碍集成 【免费下载链接】imaginary Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing 项目地址: https://gitcode.com/gh_mirrors/im/imaginary Imaginar…...

vLLM-v0.17.1部署教程:vLLM+NGINX实现SSL/TLS加密API服务

vLLM-v0.17.1部署教程&#xff1a;vLLMNGINX实现SSL/TLS加密API服务 1. vLLM框架简介 vLLM是一个专注于大语言模型(LLM)推理和服务的高性能开源库。它最初由加州大学伯克利分校的天空计算实验室开发&#xff0c;现已发展成为一个由学术界和工业界共同维护的社区项目。 这个框…...

小米多看电纸书刷机全攻略:从墨案系统回退到原厂固件的保姆级教程

小米多看电纸书系统恢复指南&#xff1a;从第三方固件回归官方体验 作为一名长期使用电子墨水设备的深度用户&#xff0c;我完全理解那种尝试新系统后又怀念原厂体验的矛盾心理。去年冬天&#xff0c;我的小米多看电纸书也经历了从墨案系统回退到官方固件的完整过程&#xff0c…...

AI 辅助 CAPL 脚本编写实战

专栏&#xff1a;《AI 汽车电子测试实战》第 6 篇 作者&#xff1a;一线汽车电子测试工程师 适合人群&#xff1a;CANoe 测试工程师、想学习 CAPL 的新手、想提升脚本效率的测试人员开篇&#xff1a;CAPL 脚本的痛点 CAPL&#xff08;Communication Access Programming Languag…...

英雄联盟游戏助手:5大功能全面解析,打造你的专属游戏体验

英雄联盟游戏助手&#xff1a;5大功能全面解析&#xff0c;打造你的专属游戏体验 【免费下载链接】League-Toolkit 兴趣使然的、简单易用的英雄联盟工具集。支持战绩查询、自动秒选等功能。基于 LCU API。 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit …...

3步实现文献影响力自动化追踪:Zotero学术插件使用指南

3步实现文献影响力自动化追踪&#xff1a;Zotero学术插件使用指南 【免费下载链接】zotero-google-scholar-citation-count Zotero plugin for fetching number of citations from Google Scholar. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-google-scholar-citat…...