力扣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)

相关推荐
有一个好名字4 分钟前
力扣-电话号码组合
算法·leetcode·职场和发展
鱼跃鹰飞8 分钟前
Leetcode会员尊享面试100题:1086:前五科的均分
算法·leetcode·职场和发展
༾冬瓜大侠༿9 分钟前
C++string
c语言·开发语言·c++·算法
Lethehong10 分钟前
探索高效工作流的秘密:GLM-4.7 与 Dify 平台深度集成实践
大数据·人工智能·算法
Yeats_Liao12 分钟前
微调决策树:何时使用Prompt Engineering,何时选择Fine-tuning?
前端·人工智能·深度学习·算法·决策树·机器学习·prompt
sin_hielo13 分钟前
leetcode 3010
数据结构·算法·leetcode
sheji341615 分钟前
【开题答辩全过程】以 基于协同过滤算法电影个性化推荐系统设计与实现为例,包含答辩的问题和答案
算法
uesowys18 分钟前
Apache Spark算法开发指导-Random forest classifier
算法·随机森林·spark
仙俊红2 小时前
LeetCode487周赛T2,删除子数组后的最终元素
数据结构·算法
-dzk-8 小时前
【代码随想录】LC 59.螺旋矩阵 II
c++·线性代数·算法·矩阵·模拟