怎么用ai做网站版面,重庆网站seo公司,wordpress主题放在那个文件夹,大淘客怎样做网站1. 【算法】求两个数中#xff0c;bit位不同的个数#xff08;在计网那道题中用过#xff09; 解法#xff1a;首先把两位数异或#xff0c;得到的结果#xff0c;通过自身跟自身-1相与#xff0c;直到等于0为止 代码如下#xff1a;
int calculateNotSam(int a,int …1. 【算法】求两个数中bit位不同的个数在计网那道题中用过 解法首先把两位数异或得到的结果通过自身跟自身-1相与直到等于0为止 代码如下
int calculateNotSam(int a,int b){int tempa^b;int number0;while(temp!0){temp(temp-1);number;}return number;}2. 【算法】对于某个字符串用某个符号分割开来
//将字符串str用sp分割开来分割的每项元素存储在ans当中
vectorstring split(string str, string sp)
{vectorstring ans;for(ll i 0, j 0; i str.size();i j 1){j str.find(sp, i);if(j -1){j str.size();}ans.push_back(str.substr(i, j - i));}return ans;
}3. 【算法】 输入字符串该字符串是用16进制的表示输入将其转化为十进制数解压缩中遇到过
//将一个字符转化为十进制数
int trans_10(char ch)
{if(ch 0 ch 9) return ch - 0;if(ch a ch f) return ch - a 10;
}
int a trans_10(bits[0]), b trans_10(bits[1]);
int number (a 4) b; //十六进制一个字符代表4个bit位置4. 【算法】 将一串数字字符转化为整数
int to_int(string str)
{stringstream ssin(str);int x;ssin x;return x;
}5. vector去除相邻的重复元素
vectorint vec;for(int i 8;i 1;i --){vec.push_back(i);vec.push_back(i - 1);}for(auto x : vec){cout x ;}cout endl;//sort(vec.begin(), unique(vec.begin(), vec.end()));vec.erase(unique(vec.begin(),vec.end()), vec.end());for(auto x : vec){cout x ;}cout endl;输出如下 8 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 8 7 6 5 4 3 2 1 0 关于bitset在LDAP的优化中用到
构造函数
bitset(): 每一位都是 false。bitset(unsigned long val): 设为 val 的二进制形式。bitset(const string str): 设为 01 串 str。
运算符
operator []: 访问其特定的一位。operator /!: 比较两个 bitset 内容是否完全一样。operator //|/| /^/^/~: 进行按位与/或/异或/取反操作。bitset 只能与 bitset 进行位运算若要和整型进行位运算要先将整型转换为 bitset。operator //: 进行二进制左移/右移。operator : 流运算符这意味着你可以通过 cin/cout 进行输入输出。 成员函数 count(): 返回 true 的数量。size(): 返回 bitset 的大小。 test(pos): 它和 vector 中的 at() 的作用是一样的和 [] 运算符的区别就是越界检查。any():若存在某一位是 true 则返回 true否则返回 false。 none(): 若所有位都是 false 则返回 true否则返回 false。all():C11若所有位都是 true 则返回 true否则返回 false。set(): 将整个 bitset 设置成 true。set(pos, val true):将某一位设置成 true/false。reset(): 将整个 bitset 设置成 false。reset(pos): 将某一位设置成 false。相当于 set(pos, false)。flip(): 翻转每一位。0\leftrightarrow1相当于异或一个全是 1 的 bitsetflip(pos): 翻转某一位。to_string(): 返回转换成的字符串表达。to_ulong(): 返回转换成的 unsigned long 表达long 在 NT 及 32 位 POSIX 系统下与 int 一样在 64 位 POSIX 下与 long long 一样。to_ullong():C11返回转换成的 unsigned long long 表达。
一些文档中没有的成员函数
_Find_first(): 返回 bitset 第一个 true 的下标若没有 true 则返回 bitset 的大小。_Find_next(pos): 返回 pos 后面下标严格大于 pos 的位置第一个 true 的下标若 pos 后面没有 true 则返回 bitset 的大小。
7. 保留小数
保留n位有效数位#includeiomanip cout setprecision(n) a保留小数点后n位#includeiomanip cout setiosflags(ios::fixed) setprecision(n) a;
关于deque和vector的一些操作
.back()和.front方法可以取出首尾元素push_back() push_front()方法用于在首尾添加元素pop_front( pop_back()可以删除首尾的元素