试除法判定质数


一个数 x 分解成两个数的乘积,则这两个数中,一定有一个数大于根号 x,一个数小于根号x。所以,可以用 x 除以 2 ~ 根号x 中的每个数,如果出现了余数为 0,则这个数不是质数,如果没有出现余数为 0,则这个数是质数。#include <iostream>#include <a

dfs--acwing排列数字


#include <iostream>using namespace std;const int N = 10;bool st[N];int path[N];int n;void dfs(int u){ if(u == n){ for(int i = 0;i <

二叉树的遍历


二叉树DLR–前序遍历(根在前,从左往右,一棵树的根永远在左子树前面,左子树又永远在右子树前面 )LDR–中序遍历(根在中,从左往右,一棵树的左子树永远在根前面,根永远在右子树前面)LRD–后序遍历(根在后,从左往右,一棵树的左子树永远在右子树前面,右子树永远在根前面)前序遍历ABDECF#incl

acwing每日一题-字符串删减


参考:https://www.acwing.com/solution/content/56819/#include <iostream>#include <algorithm>#include <string>using namespace std;int num

力扣回文数


力扣回文数回文串题解 也能参考这个参考回文串做法可以这么写,这种是通过左右一个一个比较来判断是不是回文数得:class Solution {public: bool isPalindrome(int x) { string s = to_string(x); int

acwing-递归实现排列型枚举


#include <iostream>using namespace std;const int N = 10;int path[N];//保存序列bool state[N];//保存状态int n;void dfs(int u){ if(u>n){ //递归边界

acwing 递归实现指数型枚举


#include <iostream>using namespace std;const int N=20;int n;bool vis[N]; //判断选还是不选void DFS(int u) //第几层就是筛选第几个数字{ if(u>n) //不可以有等号,如果有等号会少

Acwing-二进制中1的个数


题目a >> k & 1 可以取第该数字的二进制第k位的值比如 10 >> 2 & 110的二进制为 1010 ,右移2位为 0010,&1得0000,也就是0,第二位也是0参考答案

字符串匹配BF


参考:https://blog.csdn.net/raelum/article/details/128823560#include <iostream>#include <string>using namespace std;/*1、s[ ]是模式串,即比较长的字符串。2、p

acwing-单调栈问题


图来自:https://www.acwing.com/solution/content/27437/参考:https://raelum.blog.csdn.net/article/details/128969669//数组栈 #include <iostream>using namesp