自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 x & (x-1)操作

可以将x的二进制表示的最后一位1置0

2021-07-09 18:07:18 117

原创 c++中计算二进制中为1的位数的函数

大多数编程语言都内置了计算二进制表达中 11 的数量的函数。在工程中,我们应该直接使用内置函数。c++中可以使用函数__builtin_popcount(int num)

2021-07-01 14:28:36 1646

转载 CPP常识 01 -- 判断两个vector是否相等

https://www.jianshu.com/p/51225ce0b234

2021-06-28 21:27:25 1231

转载 C++ 中的 inline 用法

https://www.runoob.com/w3cnote/cpp-inline-usage.html

2021-05-12 12:45:28 83

原创 unordered_map注意事项

关于[]运算:当利用[]运算符取unordered_map中的值时,如果[]中的元素不存在,那么返回0;如下:@Override unordered_map<char, int> t_win; cout << "测试取下标返回值:" << t_win['k'] << endl; }...

2021-03-24 20:56:55 177

原创 c++中各种长度整型的分析

long long:long long本质上还是整型,只不过是一种超长的整型。int型:32位整型,取值范围为-2^31 ~ (2^31 - 1) .long:在32位系统是32位整型,取值范围为-2^31 ~ (2^31 - 1);在64位系统是64位整型,取值范围为-2^63 ~ (2^63 - 1)long long:是64位的整型,取值范围为-2^63 ~ (2^63 - 1)。补充:long long不是所有编译器都使用的,说白了它就是一种能够表示范围更大的整数的类型。一般来说,整数

2021-03-23 15:14:39 5028

原创 c++中乘除法操作尽量用移位操作来代替

比如a / 2,a * 2,a / 4,等操作可以用a>>1,a<<1,a>>2来代替。移位操作执行速度快。

2021-03-13 14:10:47 429

原创 STL容器中 emplace() 与 insert()

emplace效率高于insert:这说明emplace是调用构造函数,直接在容器中构造一个元素。而insert,push是拷贝操作,将元素拷贝到容器中。

2021-03-10 20:22:28 785

原创 <algorithm>头文件中包含的常用函数

1、min;max;2、generate(vector.begin(), vector.end(), std::rand) :生成随机数序列;3、count_if(vector.begin(), vector.end(), function):判断function返回true的元素个数;

2021-03-10 19:43:29 163

原创 string的学习与使用

string中字符的存取:注意,当字符串为空时调用back函数会报错。string成员函数详细返回值及用法:链接: link.

2021-03-10 15:52:21 98

原创 一个比较难的动态规划编程题

Leetcode第10题:求解思路:考虑到本题具有最优子结构的性质,故而可以考虑使用动态规划的方法求解。动态规划问题求解需要考虑:一、状态转移方程二、动态规划的边界条件用 f[i][j] 表示s的前i个字符与p的前j个字符匹配。本题在求解状态转移方程时需要考虑一下三种情况:1、p的最后一个字符是普通小写字母;2、p的最后一个字符是“.”;3、p的最后一个字符是“*”;显然1和2情况的状态转移方程很容易得出,只需要考虑s[i]是否与p[j]匹配(s[i] = p[j] 或者 p[j

2021-03-10 12:55:28 222

转载 for (char c : s)这种循环方式的使用

for (char c : s)这种循环方式的使用1、基于范围的for循环(c++11支持):1)这是C++11中新增的一种循环写法,对数组(或容器类,如vector和array)的每个元素执行相同的操作,此外string类也支持这种对字符的遍历循环操作。如: double prices[5] = {4.99,5.99,6.99,7.99,8.99};for(double x:prices)cout << x << endl;其中,x最初表示数组prices的第一个元素,

2021-03-09 17:15:21 12100

原创 vector使用注意要点

vector使用注意要点:1、reserve的使用:声明了一个vector类型变量之后最好先给他reserve一个适当的capacity,不要直接使用pushback不断添加元素进去,因为不用reserve就直接pushback会使得vector不断地进行动态扩增,增加没必要的消耗...

2021-03-09 14:39:27 176

转载 size_t和int区别

size_t和int区别size_t和int      size_t是一些C/C++标准在stddef.h中定义的。这个类型足以用来表示对象的大小。size_t的真实类型与操作系统有关。在32位架构中被普遍定义为:typedef   unsigned int size_t;而在64位架构中被定义为:typedef  unsigned long size_t;    

2021-03-09 14:13:23 202

原创 vector中reserve与resize区别

vector中reserve与resize区别一、基本概念1、capacity指容器在分配新的存储空间之前能存储的元素总数。2、size指当前容器所存储的元素个数二、reserve与resize1.区别1、reserve()只修改capacity大小,不修改size大小,2、resize()既修改capacity大小,也修改size大小。注意:resize只会在修改后的size()大小大于当前capacity()大小时才会修改capacity大小,比如下面情况就不会修改capacity:

2021-03-09 13:48:28 3919

空空如也

空空如也

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

TA关注的人

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