插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 
坚持不懈,越努力越幸运,大家一起学习鸭~~~

3妹:这么热的天气还要持续多久啊,快要被热死了
2哥:感觉还要有一阵子,今天刚入伏
3妹:啊, 今年的天气也太反常了。
2哥:我们还好,可以呆在空调房里, 那些在户外工作的人才是真的辛苦。
3妹:是的, 听说有人得了热射病?什么是热射病啊?
2哥:热射病(中暑)是指因高温引起的人体体温调节功能失调,体内热量过度积蓄,从而引发神经器官受损。热射病在中暑的分级中就是重症中暑,是一种致命性疾病,病死率高。
3妹:那挺危险的, 夏季还是要做好防护,避免中暑或得热射病。
2哥:嗯, 外面现在疫情还没过去,又这么热,还是在家打打游戏吧。
3妹:我才不打游戏呢,在家还是刷刷题吧。

题目:

给你一个下标从 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 <= 100
0 <= nums[i] <= 100

思考:

模拟 ,先将数组排序,然后遍历数组,看数组中两个数相等的个数, 以及去除相等的数后数组的个数。

java代码:

class Solution {public int[] numberOfPairs(int[] nums) {if (nums.length == 1) {return new int[] {0, 1};}Arrays.sort(nums);int shuDuiCount = 0;int count = nums.length;for (int i = 0; i < nums.length - 1; i++) {if (nums[i] == nums[i + 1]) {shuDuiCount++;count -= 2;i++;}}return new int[] {shuDuiCount, count};}
}

【教3妹学算法-leetcode】数组能形成多少数对相关推荐

  1. 【教3妹学算法-每日3题(3)】 和至少为 K 的最短子数组

    插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站.  坚持不懈,越努力越幸运,大家一起学习鸭~~~ 3妹:小呀么小二郎呀, 背着那书包上学堂. 2 ...

  2. 教小学妹学算法:十大经典排序算法深度解析

    最近有一位小学妹 Coco 入坑了算法,结果上来就被几个排序算法给整懵逼了,各种排序眼花缭乱,也分不清什么时候该用什么排序了. 今天呢,就在这分享一下我给小学妹讲十大经典排序算法的过程. 好吧,那我们 ...

  3. 【教3妹学算法-每日3题(1)】商品折扣后的最终价格

    插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站.  坚持不懈,越努力越幸运,大家一起学习鸭~~~ 3妹:哎,又到周一了,不想上班不想上班,什么时 ...

  4. 教小学妹学算法:诺基亚引出的动态规划问题

    Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 今天还是将那位入坑算法的小学妹 ...

  5. 教小学妹学算法:搜索算法解决迷宫问题

    Hello,我是 Alex 007,一个热爱计算机编程和硬件设计的小白,为啥是007呢?因为叫 Alex 的人太多了,再加上每天007的生活,Alex 007就诞生了. 最近有一位小学妹 Coco 入 ...

  6. 【教3妹学算法-每日3题(3)】 判断矩阵经轮转后是否一致

    插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到网站.  坚持不懈,越努力越幸运,大家一起学习鸭~~~ 3妹:小呀么小二郎呀, 背着那书包上学堂. 2 ...

  7. 1145: 零起点学算法52——数组中删数II

    1145: 零起点学算法52--数组中删数II Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld Submitted: 29 ...

  8. Problem C: 零起点学算法82——数组中查找数

    Problem C: 零起点学算法82--数组中查找数 分析 对数据进行遍历判断即可. Description 在给定的数组中查找一个数 Input 多组测试,每组第一行输入1个整数n(n<20 ...

  9. 教妹学Java:数组专用工具类 Java.util.Arrays

    数组专用工具类 "哥,数组专用工具类是专门用来操作数组的吗?比如说创建数组.数组排序.数组检索等等."三妹的提问其实已经把答案说了出来. "是滴,这里说的数组专用工具类指 ...

最新文章

  1. Vitamio FAQ(2012-11-20 )
  2. 武汉网络推广优化中网站关键词如何更合理布局分布?
  3. python基础代码-python基础知识和练习代码
  4. java 传参数 数组_Java参数传递 数组的使用
  5. oracle10自动扩分区,Oracle 11g数据库的分区表扩展(按年度)
  6. 服务器怎么跑python_在Linux服务器上跑Python Unet程序
  7. MySQL的条件判断函数
  8. 【好玩的代码雨(附源代码)】
  9. 昆石VOS2009/VOS3000 2.1.6.00 新功能介绍目录
  10. 数据FIFO的读写和信息FIFO的基本使用方法
  11. 基于snowfall的玫瑰花瓣飘落效果
  12. 搞定计算机网络面试,看这篇就够了
  13. 如何用代码设置滚动条的位置?
  14. 网上舆情如何早发现?网络舆情监测系统解决办法
  15. 寻找合适的研发效能度量指标(中)
  16. VR全景打造透明农业后花园,帮助农业走出乡村
  17. Redis Sentinel主从复制自动切换方案
  18. 支付宝API转账代付接口
  19. iperf3使用说明
  20. android 背景色闪烁,如何在Android中使布局背景闪烁?

热门文章

  1. 中秋节礼物推荐蓝牙耳机!时尚又实用的蓝牙耳机盘点
  2. Android删除手机文件,联系人,通话记录
  3. java opencv 提取车牌_opencv-车牌区域提取
  4. 服务器php环境搭建教程,PHP服务端环境搭建图文详解
  5. 按摩师 python
  6. Gradle安装配置
  7. python 解析域名_Python实现通过解析域名获取ip地址的方法分析
  8. linux 动态扫描 数码管,数码管动态扫描显示01234567程序(三种方案) - 全文
  9. 微信跳转手机浏览器下载app和访问指定页面无法自动跳转的解决方案
  10. win7中删除桌面删不掉的IE图标方法