
算法学习
算法
Alicepus
一只可爱的大一学生喔~~
展开
-
位运算
文章目录1.lowbit 计算一个数二进制下最低位 1 对应的值判断一个数x二进制下的第i位是否为1将一份数字x二进制下第位改为1计算一个数字x二进制下含有1或0的个数判断一个数x是否为 2 的n次方对 1 ^ (异或)1.lowbit 计算一个数二进制下最低位 1 对应的值int lowbit(int x) { return x&(-x)}判断一个数x二进制下的第i位是否为1bool isOne(int x) { int i; // 想办法取出x的第 i 位 retur原创 2020-07-22 21:54:53 · 161 阅读 · 0 评论 -
滑动窗口
文章目录框架例题最小覆盖字串(Leetcode 76)找到字符串中所有字母异位词(Leetcode 438)无重复字符串最长子串(Leetcode 3)框架// 定义左右指针int left = 0, right = 0;// 维护一个 window 窗口while (right < s.size()) { window.add(s[right++]); // 右指针 向右移动 while (valid) { window.remove(s[left原创 2020-07-16 22:53:48 · 147 阅读 · 0 评论 -
分治_三分_峰值
算法模板/* 查找函数最大值*/#define target 1e-6 // 精度// 定义一个计算函数 Caculateint BinarySearch(double low, double high) { double left, right; double mid, mid_mid; left = low; // 设置当前查找区间上界 right = high; // 设置当前查找区间下界的初值 while (right-left > target原创 2020-07-16 19:31:50 · 161 阅读 · 0 评论