![]()
实在不会,今天要学
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 个赞