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

301.找出3位偶数

2094. 找出 3 位偶数 - 力扣(LeetCode)

class Solution {
    List<Integer> res=new ArrayList<>();
    List<Integer> li=new ArrayList<>();
    public int[] findEvenNumbers(int[] digits) {
        Arrays.sort(digits);
        boolean[] nums=new boolean[digits.length];
        solut(nums,digits);
        return res.stream().mapToInt(i->i).toArray();
    }
    void solut(boolean[] nums,int[] digits){
        if (li.size() == 3) {
            if (li.get(0) != 0 && li.get(2) % 2 == 0) {
                int num = li.get(0) * 100 + li.get(1) * 10 + li.get(2);
                res.add(num);
            }
            return;
        }
        for(int i=0;i<digits.length;i++){
            if(nums[i]||(li.size()==0&&digits[i]==0)||(li.size()==2&&digits[i]%2!=0)||(i>0&&digits[i]==digits[i-1]&&!nums[i - 1])){
                continue;
            }
            li.add(digits[i]);
            nums[i]=true;
            solut(nums,digits);
            li.removeLast();
            nums[i]=false;
        }
    }
}
class Solution(object):
    def __init__(self):
        self.res = []
        self.li = []
    
    def findEvenNumbers(self, digits):
        digits.sort()
        nums = [False] * len(digits)
        self.solut(nums, digits)
        return self.res
    
    def solut(self, nums, digits):
        if len(self.li) == 3:
            if self.li[0] != 0 and self.li[2] % 2 == 0:
                num = self.li[0] * 100 + self.li[1] * 10 + self.li[2]
                if num not in self.res:  # Avoid duplicates
                    self.res.append(num)
            return
        
        for i in range(len(digits)):
            if (nums[i] or 
                (len(self.li) == 0 and digits[i] == 0) or 
                (len(self.li) == 2 and digits[i] % 2 != 0) or 
                (i > 0 and digits[i] == digits[i-1] and not nums[i-1])):
                continue
            
            self.li.append(digits[i])
            nums[i] = True
            self.solut(nums, digits)
            self.li.pop()
            nums[i] = False

相关文章:

  • 网站有域名没备案衡阳seo快速排名
  • 做商业网站关键词的优化和推广
  • 动态网站开发pdf爱站网备案查询
  • 农村电商扶贫网站建设seo手机优化软件哪个好用
  • 上海网站推广大全如何让别人在百度上搜到自己公司
  • 营销型的网站宁波网站建设团队
  • [ctfshow web入门] web37
  • 【软考系统架构设计师】系统配置与性能评价
  • 使用Python建模量子隧穿
  • String类基本使用
  • SQL基础入门:从CRUD到JOIN再到索引(通俗易懂版)
  • LeetCode 3272.统计好整数的数目:枚举+排列组合+哈希表
  • Backtrader从0到1——Data Feeds【入门篇】
  • 数字电子技术基础(四十三)——加法器
  • MySQL数据过滤、转换与标准化
  • 「逻辑推理」AtCoder AT_abc401_d D - Logical Filling
  • 中美AI技术差距缩小:开源、成本与应用场景的全球趋势分析
  • spacy安装失败报错
  • React 学习 JSX
  • C语言基础之数组
  • 一文解析DeepSeek R1模型
  • 开源的PMPI库实现及示例代码
  • 网络流量管理-流(Flow)
  • Kubernetes内存过度分配的隐患:一次Pod频繁重启的深度排查与解决
  • C++初阶-类和对象(上)
  • 关于举办“2025年第五届全国大学生技术创新创业大赛“的通知