枚举算法入门
在某个可能的解的集合中,按某个顺序依次检索元素,用题目给定的条件进行校验和计算。
是否存在,找到第一个,全部都,全部都不。
原数组中是否存在子数组?(元素无需连续,但需保持相对顺序一致)
templata<typename T> |
寻找第K小的素数?
for(int idx=1;;idx++) |
枚举的优化:裁剪枚举集
判断一个数是否为素数?
for(int i=2;i<=n-1;i++) |
根据数学特性可以缩小枚举范围
for(int i=2;i<=sqrt(n);i++) |
按位枚举:
比如枚举十进制数1234的每一位
while(x){ |
对于将十进制整数 x 转换为 base 进制的各位数字,把10改为对应的进制数
vector<int> arr1; |
将 base 进制的逆序数字转换回十进制整数
int x=0; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Zedward'Blog!
评论
