文章目录

  • 1. 题目
  • 2. 解题

1. 题目

给你一个整数数组 digits ,其中每个元素是一个数字(0 - 9)。数组中可能存在重复元素。

你需要找出 所有 满足下述条件且 互不相同 的整数:

  • 该整数由 digits 中的三个元素按 任意 顺序 依次连接 组成。
  • 该整数不含 前导零
  • 该整数是一个 偶数

例如,给定的 digits 是 [1, 2, 3] ,整数 132 和 312 满足上面列出的全部条件。

将找出的所有互不相同的整数按 递增顺序 排列,并以数组形式返回。

示例 1:
输入:digits = [2,1,3,0]
输出:[102,120,130,132,210,230,302,310,312,320]
解释:
所有满足题目条件的整数都在输出数组中列出。
注意,答案数组中不含有 奇数 或带 前导零 的整数。示例 2:
输入:digits = [2,2,8,8,2]
输出:[222,228,282,288,822,828,882]
解释:
同样的数字(0 - 9)在构造整数时可以重复多次,
重复次数最多与其在 digits 中出现的次数一样。
在这个例子中,数字 8 在构造 288、828 和 882 时都重复了两次。 示例 3:
输入:digits = [3,7,5]
输出:[]
解释:
使用给定的 digits 无法构造偶数。示例 4:
输入:digits = [0,2,0,0]
输出:[200]
解释:
唯一一个不含 前导零 且满足全部条件的整数是 200 。示例 5:
输入:digits = [0,0,0]
输出:[]
解释:
构造的所有整数都会有 前导零 。因此,不存在满足题目条件的整数。提示:
3 <= digits.length <= 100
0 <= digits[i] <= 9

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/finding-3-digit-even-numbers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 对每个数字计数
  • 暴力枚举每个位置的数字,更新数字剩余的个数
class Solution {public:vector<int> findEvenNumbers(vector<int>& digits) {vector<int> ct(10);for(auto d : digits){if(ct[d] < 3) ct[d]++;}vector<int> ans;for(int i = 1; i <= 9; ++i){if(ct[i] == 0) continue;ct[i]--;for(int j = 0; j <= 9; ++j){if(ct[j] == 0) continue;ct[j]--;for(int k = 0; k <= 9; ++k){if(ct[k] && (k&1)==0)ans.push_back(i*100+j*10+k);}ct[j]++;}ct[i]++;}return ans;}
};

0 ms 8.8 MB C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode 2094. 找出 3 位偶数相关推荐

  1. 【2094. 找出 3 位偶数】

    leetcode力扣刷题打卡 题目:2094. 找出 3 位偶数 描述:给你一个整数数组 digits ,其中每个元素是一个数字(0 - 9).数组中可能存在重复元素. 你需要找出 所有 满足下述条件 ...

  2. 2094 找出 3 位偶数

    题目描述: 给你一个整数数组 digits ,其中每个元素是一个数字(0 - 9).数组中可能存在重复元素. 你需要找出 所有 满足下述条件且 互不相同 的整数: 该整数由 digits 中的三个元素 ...

  3. LeetCode 1823. 找出游戏的获胜者

    LeetCode 1823. 找出游戏的获胜者 文章目录 LeetCode 1823. 找出游戏的获胜者 题目描述 一.解题关键词 二.解题报告 1.思路分析 2.时间复杂度 3.代码示例 2.知识点 ...

  4. 80x86汇编语言 循环结构 找出最小的偶数并在屏幕上显示 求出数组的平均值显示在屏幕上

    题目1 写一个完整的80X86汇编语言程序:键盘输入15个数据(转换成数值,存储到一维数组中,数值的长度为字),找出最小的偶数并在屏幕上显示,若没有偶数则显示"没有偶数!". .d ...

  5. 7-107 找出三位水仙花数 (15 分)

    7-107 找出三位水仙花数 (15 分) 本题要求编写程序,输出给定正整数M和N区间内的所有三位水仙花数.三位水仙花数,即其个位.十位.百位数字的立方和等于该数本身. 输入格式: 输入在一行中给出两 ...

  6. 约瑟夫环——递推公式详解(leetcode 1823. 找出游戏的获胜者)

    约瑟夫环--递推公式详解(leetcode 1823. 找出游戏的获胜者) 约瑟夫环问题 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知 n 个人(以编号1,2,3-n分别表示)围坐在一张圆桌周围. ...

  7. 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3……,凡是报到“3”就退出圈子,最后留在圈内的人就是出卖耶稣的叛徒

    问题: 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3--,凡是报到"3"就退出圈子,最后留在圈内 ...

  8. C语言必会面试题(3、耶稣有13个门徒,当中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个開始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,...)...

    3.耶稣有13个门徒.当中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个開始报号:1.2,3.1,2,3.... 凡是报到"3"就退出圈子.最后留在圈子 ...

  9. LeetCode 2028. 找出缺失的观测数据

    文章目录 一.题目 1.题目描述 2.基础框架 3.原题链接 二.解题报告 1.思路分析 2.时间复杂度 3.代码详解 三.本题小知识 四.加群须知 一.题目 1.题目描述   现有一份 n + m次 ...

最新文章

  1. Python自定义函数的创建、调用和函数的参数详解
  2. sparkstreaming监听hdfs目录如何终止_Spark笔试题:Spark Streaming 反压机制
  3. 北邮OJ 1022. 16校赛-Saber's Board
  4. 分布式数据库TiDB是如何结合OLTP和OLAP的?
  5. SSDO AO 图像空间的动态全局光照
  6. python变量名区分大小写_python变量名要不要区分大小写
  7. python简单的编程_简单的Python2.7编程初学经验总结
  8. c++fabs函数_C语言中常用的标准库函数有哪些?
  9. 指定范围内的水仙数(C语言)
  10. android 访问本地image url_微信图片无法通过 WXSS 获取,可使用网络图片或 base64或image...
  11. Linux 文件系统启动记录
  12. 正交匹配追踪算法(OMP)简介与详解
  13. icePDF去水印方法
  14. 文安三中电子计算机老师叫什么,顶岗实习周记:记我的第一次.doc
  15. python输出excel指定列为文本格式_POI设置excel某列值为文本格式
  16. 一个男人不顾家的表现有哪些?
  17. 涅普计划-web入门简介笔记
  18. ReentrantLock和synchronized锁
  19. OpenCV开发笔记(七十一):红胖子8分钟带你深入级联分类器训练
  20. 三个人的友谊显的有些拥挤了...

热门文章

  1. fiber报错 (type *big.Int has no field or method FillBytes)
  2. SQLAlchemy()分页器paginate方法
  3. python *args和**kwargs以及序列解包
  4. 三维点云目标提取总结(续)
  5. iOS 加载本地html文件详细操作
  6. 《c语言深度剖析》读书笔记
  7. 驱动框架8——将驱动集成到内核中
  8. c++远征之多态篇——虚函数及其实现原理
  9. 一些Base64编码/解码及数据压缩/解压方面的知识
  10. poj 2096 , zoj 3329 , hdu 4035 —— 期望DP