leetcode 3483. 不同三位偶数的数目 简单

给你一个数字数组 digits,你需要从中选择三个数字组成一个三位偶数,你的任务是求出 不同三位偶数的数量。

注意 :每个数字在三位偶数中都只能使用 一次 ,并且 不能有前导零。

示例 1:

输入: digits = 1,2,3,4

输出: 12

解释: 可以形成的 12 个不同的三位偶数是 124,132,134,142,214,234,312,314,324,342,412 和 432。注意,不能形成 222,因为数字 2 只有一个。

示例 2:

输入: digits = 0,2,2

输出: 2

解释: 可以形成的三位偶数是 202 和 220。注意,数字 2 可以使用两次,因为数组中有两个 2 。

示例 3:

输入: digits = 6,6,6

输出: 1

解释: 只能形成 666。

示例 4:

输入: digits = 1,3,5

输出: 0

解释: 无法形成三位偶数。

提示:

  • 3 <= digits.length <= 10
  • 0 <= digits[i] <= 9

分析:暴力枚举所有可能产生的三位数,满足第一位不能为 0,最后一位必须是偶数的数才计数。

cpp 复制代码
int totalNumbers(int* digits, int digitsSize) {
    int cnt=0,flag[1000]={0};
    for(int i=0;i<digitsSize;++i)
    {
        if(!digits[i])continue;
        for(int j=0;j<digitsSize;++j)
        {
            if(j==i)continue;
            for(int k=0;k<digitsSize;++k)
            {
                if(digits[k]&1||k==j||k==i)continue;
                int num=digits[i]*100+digits[j]*10+digits[k];
                if(!flag[num])flag[num]=1,cnt++;
            }
        }
    }
    return cnt;
}
相关推荐
mmmmath_31 小时前
LeetCode.018.四数之和
数据结构·算法·leetcode
圣保罗的大教堂3 小时前
leetcode 836. 矩形重叠 简单
leetcode
土司大王4 小时前
LeetCode hot100——394.字符串解码:Java 双栈模拟
java·算法·leetcode
a187927218314 小时前
【算法】双指针与滑动窗口(三):相向双指针——比较、排除、收缩
算法·leetcode·双指针·滑动窗口·原理·相向双指针·算法讲解
6Hzlia5 小时前
【Classic 150 刷题计划】 LeetCode 14. 最长公共前缀 | C++ 纵向扫描法与防越界细节
c++·算法·leetcode
Tisfy21 小时前
LeetCode 0836.矩形重叠:xy两方向分别看
数学·leetcode·题解·模拟
青山木1 天前
Hot 100 --- 最长递增子序列
java·数据结构·算法·leetcode·动态规划
土司大王1 天前
LeetCode hot100——33.搜索旋转排序数组:Java 二分模板与 O(log n) 实现
数据结构·算法·leetcode
辰辉创聚1 天前
禽流感病毒分子基础:表面抗原与内部转录复合体的功能解析
ide·leetcode·rabbitmq·重组血凝素蛋白·甲型流感病毒核蛋白·禽流感单抗