枚举是什么算法?

:pray: :pray: :pray:
实在不会,今天要学

2 个赞

是枚举算法
我是不告诉你它是暴力的

2 个赞

枚举就是暴力枚举
将所有可能全列出来进行判断

2 个赞

一种将问题的所有可能结果一一列举,并用条件检验是否成立的解题思维。

较为详细地说,如果一个问题的答案已经知道在什么样的范围,而且所有的可能性是可以有限列举的,那么我们可以采用一一列举的方式,检验是否成立。一一列举在实际编程中体现为采用循环,检验就是采用条件语句进行检验。例如,已知一个整数为23**,*表示这些数已经模糊了,但已知这个数是7的倍数或16的倍数,列举23**的所有可能结果,此时显然这个数最小的可能是2300,最大的可能是2399,于是采用循环以及条件检验,遍历检验这个范围的每个数,当这个数符合条件时,根据需要进行处理,下面代码是将符合条件的数存放在一个可扩容的数组中。

public ArrayList<Integer> enumer() {
    ArrayList<Integer> returnArray = new ArrayList<>();
    for (int i = 2300; i < 2400; i++) {
        if (i%7==0 || i%16==0) returnArray.add(i);
    }
    return returnArray;
}
  • 如何设计枚举算法

结果可能有多个时可以考虑使用枚举;答案范围是可以确定的,或者说所有可能是可列举的;可检验,可以通过条件语句检验列举的可能是否成立;

4 个赞