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

力扣2094题解

记录:

2025.5.12

题目:

在这里插入图片描述

思路:

暴力遍历。

解题步骤:

1.统计数字出现次数:使用数组cnt来记录输入数组中每个数字的出现次数。
2.生成三位偶数:通过循环从100开始,每次递增2,生成所有三位偶数。
3.检查有效性:对于每个生成的三位偶数,分解其每一位数字,并统计每个数字的使用次数。如果任何一个数字的使用次数超过原数组中的次数,则跳过该数;否则将其加入结果列表。
4.返回结果:将结果列表转换为数组并返回。

代码:

class Solution {public int[] findEvenNumbers(int[] digits) {int[] cnt = new int[10];for (int d : digits) {cnt[d]++;}List<Integer> ans = new ArrayList<>();next:for (int i = 100; i < 1000; i += 2) { int[] c = new int[10];for (int x = i; x > 0; x /= 10) { int d = x % 10;if (++c[d] > cnt[d]) { continue next; }}ans.add(i);}return ans.stream().mapToInt(i -> i).toArray();}
}

复杂度:

O(N∗Log10(N))
O(1)

http://www.xdnf.cn/news/5714.html

相关文章:

  • langchain4j中使用milvus向量数据库做RAG增加索引
  • 激光雷达点云畸变消除:MCU vs CPU 方案详解
  • AI Agent(11):垂直行业应用
  • 如何避免Java中的ConcurrentModificationException
  • 网页jupyter如何显示jpipvenv虚拟环境
  • android setImageResource和setBackgroundResource区别
  • 【Dv3Admin】工具视图配置文件解析
  • PTA:jmu-ds-最短路径
  • 日常组件复用与基于构件开发的本质区别
  • 第三章 仿真器介绍
  • python标准库--itertools - 迭代器工具在算法比赛的应用
  • 提权相关记录
  • Dsp38335利用Bootloader实现在线升级的技术原理
  • Linux环境基础开发工具的使用(yum、vim、gcc、g++、gdb、make/Makefile)
  • 旋转图像算法讲解
  • Hive原理
  • python打包成exe
  • LiveData:Android响应式编程的核心利器
  • 大规模容器集群怎么规划
  • 段错误(Segmentation Fault)总结
  • 病毒传播模拟:多智能体系统与时空可视化引擎
  • 02_线性模型(回归分类模型)
  • JAVA实战开源项目:医院挂号就诊系统 (Vue+SpringBoot) 附源码
  • web:InfiniteScroll 无限滚动
  • vue-i18n 优化
  • 软件安全(三)实现后门程序
  • hive两个表不同数据类型字段关联引发的数据倾斜
  • vim中的查找
  • Edge Remover v18.7 绿色版:轻松卸载 Edge 浏览器,彻底清理残留数据
  • Kotlin跨平台Compose Multiplatform实战指南