力扣2094题解

记录:

2025.5.12

题目:

思路:

暴力遍历。

解题步骤:

1.统计数字出现次数:使用数组cnt来记录输入数组中每个数字的出现次数。

2.生成三位偶数:通过循环从100开始,每次递增2,生成所有三位偶数。

3.检查有效性:对于每个生成的三位偶数,分解其每一位数字,并统计每个数字的使用次数。如果任何一个数字的使用次数超过原数组中的次数,则跳过该数;否则将其加入结果列表。

4.返回结果:将结果列表转换为数组并返回。

代码:

java 复制代码
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)

相关推荐
轻抚酸~35 分钟前
KNN(K近邻算法)-python实现
python·算法·近邻算法
测试界的海飞丝2 小时前
10道软件测试面试题及其答案:
服务器·测试工具·职场和发展
Yue丶越3 小时前
【C语言】字符函数和字符串函数
c语言·开发语言·算法
小白程序员成长日记3 小时前
2025.11.24 力扣每日一题
算法·leetcode·职场和发展
有一个好名字3 小时前
LeetCode跳跃游戏:思路与题解全解析
算法·leetcode·游戏
AndrewHZ4 小时前
【图像处理基石】如何在图像中提取出基本形状,比如圆形,椭圆,方形等等?
图像处理·python·算法·计算机视觉·cv·形状提取
蓝牙先生4 小时前
简易TCP C/S通信
c语言·tcp/ip·算法
2501_941870565 小时前
Python在高并发微服务数据同步与分布式事务处理中的实践与优化
leetcode
2501_941147716 小时前
高并发微服务架构Spring Cloud与Dubbo在互联网优化实践经验分享
leetcode
稚辉君.MCA_P8_Java8 小时前
Gemini永久会员 Java中的四边形不等式优化
java·后端·算法