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

相关推荐
GSDjisidi39 分钟前
日本IT就职面试|仪容&礼仪篇分享建议
面试·职场和发展
paopaokaka_luck2 小时前
婚纱摄影管理系统(发送邮箱、腾讯地图API、物流API、webSocket实时聊天、协同过滤算法、Echarts图形化分析)
vue.js·spring boot·后端·websocket·算法·echarts
愚戏师3 小时前
机器学习(重学版)基础篇(算法与模型一)
人工智能·算法·机器学习
OEC小胖胖5 小时前
渲染篇(二):解密Diff算法:如何用“最少的操作”更新UI
前端·算法·ui·状态模式·web
找不到、了5 小时前
Java排序算法之<归并排序>
算法·排序算法
香蕉可乐荷包蛋5 小时前
排序算法 (Sorting Algorithms)-Python示例
python·算法·排序算法
Sylvia-girl5 小时前
排序查找算法,Map集合,集合的嵌套,Collections工具类
java·算法·排序算法
TT哇5 小时前
【分治】归并排序——排序数组(medium)
java·算法·排序算法
skyang.6 小时前
LeetCode 85. 最大矩形
算法·leetcode·职场和发展
滋滋不吱吱6 小时前
枚举中间位置基础篇
考研·算法·leetcode