自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (2)
  • 收藏
  • 关注

原创 leetcode 回文链表

回文链表//快慢指针+翻转前半部分; 然后再跟后半部分比较//快慢指针可以找到链表的中点: 快指针一次2个节点, 慢指针一次一个节点; 假设一共10个: 快指针5次到结尾,慢指针5次到中间;//快慢指针的一个bool isPalindrome(ListNode* head) {if(head== nullptr || head->next == nullptr) return true; //为空时候,也算是回文ListNode *fast{head}, *slow{head

2020-07-29 10:40:46 129

原创 leetcode学习项目

https://leetcode-cn.com/explore/learn/card/data-structure-binary-tree/ (leetcode上专项介绍供学习树)https://leetcode-cn.com/explore/learn/card/introduction-to-data-structure-binary-search-tree/ (leetcode上专项介绍供学习二叉查找树)https://blog.csdn.net/yj201711/article/de..

2020-07-17 17:18:06 689

原创 BFS

//求的是最短路径class Solution {public: vector<vector<int>>dir={{0,1},{0,-1},{1,0},{-1,0},{1,1},{1,-1},{-1,1},{-1,-1}}; int shortestPathBinaryMatrix(vector<vector<int>>&amp...

2020-05-06 22:14:54 177

原创 不是很牛批的重构

记录工作中遇到的小重构void fun(const type &data, const type2 &data2, type3 &data3){if(!data.present) return; //单独调用fun时候跟fun1和fun2等价,但是,present为真,下面的都不执行int freq = 0;int band = 0;get_freq_fro...

2020-03-23 10:19:11 89

原创 C++Primer读书笔记

g++支持c++11编译:-std=c++0x-wall 支持g++打印出尽可能多的信息程序开发中添加的打印语句,应该保证一直刷新流,否则如果程序崩溃,输出可能还保留在缓冲区。所以cerr是立刻刷新;cin>>v1>>v2; 等价 (cin>>v1)>>v2; 等价 cin>>v1; cin>>v2;int...

2020-03-20 11:15:06 82

原创 Clion的使用

CLion的基本用法环境安装编译调试合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入环境安装你好! 这是你第一次使用 Mark...

2020-03-19 15:19:53 1464

原创 vscode

欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体...

2019-07-03 14:22:52 204

原创 python入坑

names = map(lambda x: x.name_, stackup.get_vias()) //第二个参数,列表中的每一个元素代入第一个参数,函数,结果作为列表返回missing = filter(lambda x: x not in names, stack_names) //stack_names列表中使第一个参数为真的元素筛选成一个列表,第一个参数是bool函数...

2019-01-25 16:48:33 132

原创 c++回炉-类

//构造函数Stock food = Stock(&amp;amp;amp;amp;quot;World Cabbage&amp;amp;amp;amp;quot;, 250, 1.2); //显式普通构造函数:写出了函数名;Stock(....)是临时对象,然后复制给了food.Stock garment(&amp;amp;amp;amp;quot;Furry Mason&amp;amp;amp;amp;quot;, 50, 5.5); //隐式普通构造函数:没

2019-01-24 17:18:04 158

原创 c++ detailed note

vector::emplace_back:在vector内存中直接创建对象vector::push_back:将对象复制后拷贝到vector内存中vector添加元素超过capacity时候,vector扩展2倍内存,把运来的数据拷贝到新的内存中,并free掉原来的内存空间,包括其中的对象。注意浅拷贝和深拷贝问题。...

2019-01-21 11:15:43 179 2

原创 c++回炉-函数

函数void func(){return;} //return后面不能接内容,或者没有return. 在void函数中,return用于提前结束函数,否则在右大括号处结束type func(){return value;} //value到type有一步强制类型转换; 返回值不可以数组,可以是指针,基本类型,类对象。string func(){return &amp;amp;amp;amp;amp;amp;amp;amp;amp;quot;nihao!&amp;amp;amp;a

2019-01-16 19:10:38 196

原创 函数参数问题

1.要个临时变量而已if(netName == string("N47352"))2.ds

2018-09-13 19:40:01 137

原创 拷贝构造函数

什么时候需要拷贝构造函数: class Test; Test a1; Test a2 = a1; Test a3(a1); void func(Test obj); func(a1); Test func2(){Test a4; return a4;}写一个拷贝构造函数: 要求:第一个参数是 X&amp;, const X&amp;, volatile X&amp;,...

2018-09-06 10:54:31 160

转载 c++接口, 虚函数,纯虚函数

虚函数为了重载和多态:父类和子类之间的关系多态:基类指针形参/变量接受一个派生类的地址实参/变量,通过基类指针可以调用派生类的虚函数重载。class Base{public:virtual void print_test(){cout&lt;&lt;"Base"&lt;&lt;endl;}};class derived : public Base{public:virtua...

2018-09-04 16:35:53 1174

原创 why use Base in derived class

class my_container : unordered_map&lt;string, int&gt;{ typedef unordered_map&lt;string, int&gt; Base; void get(const string&amp; name){ assertm(Base::find(name) != Base::end(), "should can be...

2018-08-26 10:52:46 154

原创 why empty constructor is necessary

follow stackflow:class Image{ public: Image(int size):size_(size){} private: inst size_;};class Render{ public: Render(int size=0){image_={size};} //image_={size} c++11 priva...

2018-08-26 10:28:41 124

原创 enum

void fun(const char* cmd){ typedef struct cmdR{ const char* name; int32 nchar; int32 cmdId; } cmdR; enum cmdRID{ SC_AD=0, SC_NI, SC_WK, SC_WL }; static cmdR cmdL...

2018-03-28 15:05:20 154

原创 代码结构

#define OPTION_PAIR(opt_name, type, opt_value) \    d_pairs[std::string(#opt_name)]=std::string(opt_value); \    d_has[std::string(#opt_name)]=0; \    d_ks[std::string(#opt_name)]=std::shared_ptr&l...

2018-03-12 18:21:05 180

转载 kmp

#include#include#includeusing namespace std;void get_next_one(char *a, int *next) { int i = 1, j = 0; next[1] = 0; while (i < a[0] - '0') { if (j == 0 || a[i] == a[j]) { i++; j++;

2017-09-26 14:57:55 188

原创 代码相关的用法

1.char *p1="abc",*p2="abc";       cout2.char *adsGetChar();     string filename=adsGetChar();  //直接做右值,string可以接收char *3.string filename("abcd");   string plus("abcdef",3);    string tw(3,'a');  

2017-09-19 16:02:15 300

转载 自己看3

1.double-check的代码if(NULL==ptr){   //确保在ptr是NULL的时候采取获取锁并舱室构造对象    pthread_mutex_lock(&locker);    if(NULL==ptr){  //避免重复操作和内存泄漏,因为ptr在执行完pthread_mutex_lock(&loker)之后别的线程ptr=new type;   //已经为pt

2017-09-14 16:33:12 225

转载 多文件相关

1.全局变量(多个文件使用一个全局变量)在其中一个文件中定义unsigned char key=' ';然后在其他文件中用extern unsigned char key;(不需要包含关系)头文件里一般不定义全局变量,因为被多个实现文件包含时候就会“重定义”,头文件只声明全局变量。头文件不要定义任何变量。2.全局静态变量如果在实现文件中定义static全局变量,则只在本文件中有作用

2017-09-13 17:57:58 160

原创 计算机系统知识

1.x86,x64,64位,32位x86代表32位,x64代表64位32位系统分页大小为4K,寻址位宽为32,因此第0页的地址0x0000 0000,第1页为0x0000 100032位中高20位标记物理页,剩余12位添加其他标记信息,就可以支持2的20次方*4096(2的12次方)=4GB内存2.字节对齐64位默认8字节对齐,32位默认是4字节对齐3.数字常量long

2017-09-01 18:12:40 261

转载 字节对齐

1.为什么要字节对齐内存按byte(字节)划分,而数据类型最小的也就一个字节,所以理论可以从任何地址开始访问,但实际访问特定类型变量的时候经常在特定的内存地址访问。不同数据类型按一定规则在空间排列,而不是顺序排列,这就需要字节对齐。2.几个术语自身对齐值:数据类型自身的大小(sizeof)指定对齐值:编译器指定按几个字节进行对齐有效对齐值:自身对齐值和指定对齐值较小的那一个

2017-09-01 10:25:56 402

转载 位操作

/* bit_get */int bit_get(constunsigned char *bits,int pos){unsigned char mask;int i;/* Set a mask for the bit to get. */mask = 0x80;for(i = 0; i (pos % 8); i++)

2017-08-30 18:58:22 185

原创 自己看2

1.宏的副作用(精髓在于直接替换)#define mulitiply(a, b)   a*b    //带参数的宏定义multiply(1+2,2);   直接替换后为: 1+2  *  2   实际想要的效果是(1+2)*2#define multiply(a, b)   ((a)*(b))     //理想的写法,避免上面的错误#define hash(str, sz,

2017-08-21 17:45:13 283

转载 学习使用spyder(python IDE)

哪里有spyder呢?Where can we download it?在"winpython"这个安装包里面,集成的有一个spyder,可以单独运行。(windows)F6:运行配置对话框Execute in current Python or IPython interpreter:在当前的Python控制台中运行程序。程序可以访问此控制台中的所有全局对象,控制台中已经载入的模块不...

2017-08-07 20:46:44 30026

转载 系统+线程+进程

分时操作系统(time sharing system)一台计算机挂有若干终端, 每个终端提供给一个用户,不同用户通过自己的终端访问系统。系统将处理器的时间分割成很小的时间段(时间片),系统以时间片为单位,交替为终端服务,但是用户的感觉就像是系统一直在为本终端服务。典型代表:unix, linux进程与线程(process and thead)进程是正在运行的程序的抽象线程是

2017-08-01 16:06:13 436

转载 大数相乘2

#include#include //用于malloc#include //用于strlen, strlen在stdlib.h中没有声明 #define MAXLEN 100char* multiply(char er[], char cand[]){ int erlen=strlen(er); int candlen=strlen(cand); int resultlen=

2017-07-31 16:05:14 190

转载 大数相乘(偷师)

//大数相乘的算法,不能用乘数的一位来乘以整个被乘数,有可能越界,采用的方法是//用乘数的每一位去乘以被乘数的每一位//乘数(m位)*被乘数(n位)=结果(m+n位,最多)//先只考虑整数,后面再说小数 //算法思想://17=1*10+7写成(7,1)//25=2*10+5写成(5,2)//17*25=(7,1)*(5,2)=(7*5,7*2+5*1,1*2)=(35,19,2)=

2017-07-31 10:44:56 169

原创 学习下ACM的题目

参考:https://my.oschina.net/leopardsaga/blog/123495?fromerr=atjgdwtv//小数点的位置,小数点后面m和n位的数相乘,最后小数点后有m+n位 //最后有多少位,m位乘以n位最后的结果有m+n或者m+n-1位 //将小数看成是整数处理,处理完成后再加上小数点//大数相乘注意点:进位,位数(因为位数不定,所以计算结束后

2017-07-19 11:03:12 170

转载 Dev_C++使用

盗的别人的图,源地址为:http://www.cnblogs.com/dongsheng/articles/2963604.html1.先在生成debug版本2.设置断点:把光标移动到您想暂停执行的那一行,按 ctrl + F5,或者直接用鼠标点击下图红线标明的区域。3.查看中间变量的值:在图示区域按右键(如果您使用的是左手习惯,则是左键),选择“添加监测(Add

2017-07-13 10:47:00 455

原创 关于对象(类)相关的知识点

1.protected成员class base{protected:int int_pro;};class A : public base{public:A(int da) {int_pro=da;}//void print(A &obj){obj.int_pro = 23;}//void printpro(base &obj){obj.int_pro=

2017-06-23 10:40:54 204

原创 出错的地方

1,写for循环的时候遇到一个问题for(int i=0, int j=9; i{cout}报错:error: expected unqualified-id before ‘int’2.

2017-06-19 17:09:48 626

原创 自己看

1.c++中,基类必须指出希望派生类重定义那些函数,定义为virtual的函数是基类期待派生类重新定义的。基类希望派生类继承的函数不能定义为虚函数。2.通过基类的引用(或指针)调用虚函数时无需区分函数是在基类中还是派生类中定义的(动态绑定)。如class base{}; class temp:public base{};base object; temp object2;base &i

2017-06-01 14:26:17 215

转载 static的应用原理(不知道哪位大神写的)

static对象如果出现在类中,那么该对象即使从未被使用到,它也会被构造以及析构。而函数中的static对象,如果该函数从未被调用,这个对象也就绝不会诞生,但是在函数每次被调用时检查对象是否需要诞生。    下面详细说说static的功能以及它的来龙去脉:    static作为编程语言里面一种重要的数据类型,它的地位在面试的过程里也是相当的高。    为什么要

2017-05-26 09:40:00 1509

原创 字符串专题

********************char *filename="asdP/asdf/jjjj/uu";char *p = NULL;p = strchr(filename, '/');//在filename中匹配'/'返回首次匹配到的地址if(p != NULL) *p = '_';运行结果:Segmentation fault原因:“asdP/asdf/jjjj/

2017-05-10 17:20:12 206

原创 函数相关的东西

1.哪些类需要自己定义构造函数?含有内置类型或者符合类型成员的类,通常应该定义自己的默认构造函数初始化这些成员。对于具有类类型的成员,编译器创建的默认构造函数会调用类类型成员所属类自身的默认构造函数实现该成员变量的初始化。对于具有内置类型的成员,编译器创建的默认构造函数会1.如果对象(类对象)定义在全局作用域(函数外)或者是静态局部对象,则内置类型(类成员变量)初始化为0

2017-04-17 11:13:14 195

转载 初始化问题

原文链接:http://harttle.com/2015/10/05/cpp-variable-init.html定义基本数据类型变量(单个值、数组)的同时可以指定初始值,如果未指定C++回去执行默认初始化(default-initialization)。 那么什么是”默认初始化”呢?栈中的变量(函数体中的自动变量)和堆中的变量(动态内存)会保有不确定的值;全局变量和静态变量(

2017-04-07 14:27:03 259

原创 union以及enum的使用范例

C++类中enum TYPE            //枚举,可以将TYPE看成一个数据类型,但是,它定义的变量只能接受TYPE_1和TYPE_2,或者0,1{TYPE_1=0, TYPE_2};class A {public:A( ):mytype(TYPE_1)  { }                ~A(){if(mytpe==TYPE_1)

2017-03-28 14:49:53 325

一本关于C语言的闲书

外国人写的,估计应该不错,针对于具体小程序写的

2016-10-19

空空如也

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

TA关注的人

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