自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 pytorch源码编译安装

安装conda环境,python 3.8以上,gcc支持9.4以上。DEBUG=1是编译debug版本。

2024-05-06 10:02:52 343 2

原创 对象池的C++实现

【代码】【无标题】

2023-06-17 10:59:42 76

原创 VIM快捷键收藏

vim括号匹配和跳转技巧% 跳转到相配对的括号gd 跳转到局部变量的定义处‘’ 跳转到光标上次停靠的地方, 是两个’, 而不是一个"mx 设置书签,x只能是a-z的26个字母`x 跳转到书签处("`"是1左边的键)> 增加缩进,"x>"表示增加以下x行的缩进< 减少缩进,"x<"表示减少以下x行的缩进{ 跳到上一段的开头} 跳到下一段的的开头( 移到这个句子的开头) 移到下一个句子的开头[[ 跳转至上一个函数(要求代码块中’{‘必须单独占一行)]] 跳转至下

2021-11-09 14:56:21 106

原创 为clion添加cpplint cppcheck

cpplintroot=src --extensions=cxx,cu,hh,cpp,hxx,cuh,h++,cc,c,hpp,c++,h --filter=-build/header_guard,-build/c++11 --quiet --linelength=120cppcheckenable=warning,performance,portability,style --language=c++ --force --enable=style --inline-suppr

2021-10-27 20:16:48 748

原创 桶映射

我们将 int范围内的每一个整数 x 表示为 x = (t + 1) *a + b(0<=b <=t)的形式,这样 x即归属于编号为 a的桶,桶的大小为t+1,int getID(int x, long w) { return x < 0 ? (x + 1ll) / w - 1 : x / w;}如w=10, 因为非负数是09,1019…这种一组,而负数是-1~-10, -11-20…这些是一组,如果-1~-10直接除以10,会被分到两组中,而不是-1这一组,所以先+1变成-0–

2021-04-17 21:42:17 113

原创 防止大数相加或相减溢出

1、nums[r]与t相减,可能会溢出2、nums[r]与t相加,可能会溢出auto iter = rec.lower_bound(max(nums[r], INT_MIN + t) - t); if (iter != rec.end() && *iter <= min(nums[r], INT_MAX - t) + t) { return true; }...

2021-04-17 12:53:51 289

原创 理解十大排序算法

十种常见排序算法可以分为两大类:比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。非比较类排序:不通过比较来决定元素间的相对次序,它可以突破基于比较排序的时间下界,以线性时间运行,因此也称为线性时间非比较类排序。1、冒泡排序1.1 算法描述比较相邻的元素。如果第一个比第二个大,就交换它们两个;对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大的数;针对所有的元素重复以上的步骤,除了最.

2021-04-14 21:34:01 66

原创 二叉树的四种迭代遍历方式

1、先序遍历首先访问根节点,然后根据栈后进先出的特点,访问右节点,左节点。void iterativePreorder(Node *node){ if (node == nullptr) { return; } stack<BinaryTreeNode> stack; stack.push(node); while (!stack.empty()) { node = stack.top(); stack

2021-04-13 21:32:12 231

原创 滑动窗口

无重复最长字串class Solution {public: int lengthOfLongestSubstring(string s) { if(s.size() == 0) return 0; unordered_set<char> lookup; int maxStr = 0; int left = 0; for(int i = 0; i < s.size(); i++){

2021-04-13 20:24:55 62

原创 c++左值和右值

https://blog.csdn.net/xuwqiang1994/article/details/79924310

2021-04-09 14:41:03 61

原创 c++ const

1、函数前后的const函数前面的const: 返回值为const,const的对象,不能引用非const的成员函数。函数后面的const: const函数,const的函数不能对其数据成员进行修改操作。class A{public: int a1() { _a = 10; return _a; } int a2()const { return _a; } int a3()const { //_a = 30; //报错 const的函数不能对其数据成员进行修改操作。

2021-04-09 14:27:24 52

原创 自定义priority_queue,equal_range比较函数

1、自定义priority_queue通过decltype来声明cmp类型 auto cmp = [](int left, int right) { return (left ^ 1) < (right ^ 1);}; std::priority_queue<int, std::vector<int>, decltype(cmp)> q3(cmp);2、自定义equal_rangestruct S{ int number; char name;

2021-04-08 14:37:09 213

原创 判断线段是否相交

根据数学知识我们可以知道,当 min(rec1[2], rec2[2]) > max(rec1[0], rec2[0]) 时,这两条线段有交集。对于矩形 rec1 和 rec2 的竖直边投影到 yy 轴上的线段,同理可以得到,当 min(rec1[3], rec2[3]) > max(rec1[1], rec2[1]) 时,这两条线段有交集。class Solution {public: bool isRectangleOverlap(vector<int>& r

2021-04-07 18:49:17 100

原创 Split字符串的方法

1、使用find函数void spit(const string &s, vector<string> &out, const string &delimiters =""){ auto pre_pos = s.find_first_not_of(delimeters, 0); auto pos = s.find_first_of(delimeters, pre_pos ); while(pre_pos != string::npos || pos != str

2021-03-30 10:57:39 124

virtio协议

云计算场景下,IO虚拟化使用的半虚拟化驱动virtio协议。

2018-08-12

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除