算法
mmm123213
这个作者很懒,什么都没留下…
展开
-
关于emplace_back()的理解
emplace_back()是c++11的新特性。和push_back()的区别在于push_back()方法要调用构造函数和复制构造函数,这也就代表着要先构造一个临时对象,然后把临时的copy构造函数拷贝或者移动到容器最后面。而emplace_back()在实现时,则是直接在容器的尾部创建这个元素,省去了拷贝或移动元素的过程。vector<pair<int, int>> ret;ret.push_back(1,1)//会报错,因为没有构造一个临时对象ret.push_b原创 2021-07-31 22:22:14 · 43518 阅读 · 2 评论 -
c++哈希表的实现以及const和static
#include<iostream>#include<unordered_map>#include <string>#include <math.h>#include <ctype.h>#include <vector>#include <algorithm>#include <list>using namespace std;template <typename T>class原创 2021-07-13 11:31:33 · 316 阅读 · 0 评论 -
关于set容器以及哈希表的unorderd_set 的区别
set内部是红黑树与map类似,都具有自动排序功能。unordered_set没有自动排序功能,而且不好遍历。但是unordered_set的时间复杂度更小set使用时设置:我们需要有序数据(不同的元素)。我们必须打印/访问数据(按排序顺序)。我们需要元素的前身/后继者。在以下情况下使用unordered_set:我们需要保留一组不同的元素,不需要排序。我们需要单个元素访问,即没有遍历。...原创 2021-07-13 11:30:53 · 145 阅读 · 0 评论 -
关于刷题的一些想法:优先队列和二分法
优先对列的使用 leetcode 218class Solution {public: vector<vector<int>> getSkyline(vector<vector<int>>& buildings) { vector<vector<int>> ans; priority_queue<pair<int,int>> max_heap;//存储的是高.原创 2021-07-13 11:30:08 · 230 阅读 · 0 评论 -
关于刷题的一些想法以及sort以及priority_queue优先队列的使用
在函数中的形参为引用的形式可以大大的提升时间。增幅接近一倍!!!而且也大大的节省了空间!!!就算是字符串类型也是一样,字符串传参主要是地址的传入,计算机依旧申请了空间,这样就加大了内存的使用,并且减慢的速度。...原创 2021-03-31 15:57:49 · 72 阅读 · 0 评论 -
c++ 关于整数与字符之间的转换与判断
1. 判断一个字符是否是十进制数字 : isdigit()输入为一个int类型的字符,如果是的话则返回true,不是的话则返回false。int isdigit(int c);//函数声明2.将字符串转化为整型的数:atoi()输入参数为一个指向字符串类型的指针。返回值为int类型int atoi(const char *str)//函数声明3. 将整形转换为字符型:itoa()char* itoa(int value,char*string,int radix);//value: 要转换原创 2021-07-05 22:50:31 · 363 阅读 · 2 评论 -
关于python列表中的-1的用法
a = [1, 2 ,3, 4, 5]print(a[-1])#结果为5,输出倒数第一个成员print(a[:-1])#注意python是左闭右开,此处输出1234,顺序输出到倒数第二个元素print(a[::-1])#此时的第三个-1代表逆序,一次一个单位,输出为54321 ...原创 2021-05-28 21:30:54 · 6084 阅读 · 0 评论