自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 二叉树的构造

struct Node{ char data; Node* right, *left;};class Bitree{public: Bitree(){ root = new Node(); root->left = nullptr; root->right = nullptr; } void...

2018-10-04 16:43:18 1507

原创 c++ 数组指针的使用

定义一个字符串数组,按首字母从小到大进行排序。void sort(char **p, int n){ char *temp; for(int i = 0; i < n-1; i++){ for(int j = 0; j < n - i -1; j++){ cout<< *(p+j)<<","<&...

2018-10-03 17:25:05 1437

原创 最长子序列

// 最长子序列int main(){ string a; string b; cin>>a>>b; string::size_type alen = a.size(); string::size_type blen = b.size(); int f[alen+1][blen+1]; for(int i ...

2018-10-02 09:02:34 254

原创 c++ 深拷贝 浅拷贝

需要注意,在C++的类定义中,有赋值构造函数和拷贝构造函数。所以在执行A b=a操作时,会重新分配空间,属于深赋值。 cout<<"vector是对象,深赋值"<<endl; vector<string> a={"a","f","g"}; vector<string> b =a; b[2]

2018-09-26 17:12:30 270

原创 利用数组计算大数的阶乘/幂/加

计算m! 注意这里的m可以>10,同样适用下面的规则。temp 当前index所在值与乘数相乘的结果digit  当前的最高位数next  进位#define MAX_SIZE 100000int num[MAX_SIZE];int main(){ int m; cin>>m; //temp digit next num[0]...

2018-09-24 23:15:04 378

原创 关于回溯的题目

不关心起始点的位置:https://leetcode.com/problems/max-area-of-island/description/  找到矩阵中最大连通子区域的块数 剑桥offer   找到矩阵中相同的路径起始点是固定的:剑桥offer  机器人的运动范围 二叉树找到最长路径/最大距离   https://www.cnblogs.com/wangzaizhen/p/517...

2018-09-20 23:11:59 291

原创 leetcode 快慢指针的使用

使用方式(head是头指针) if(head == nullptr) return head; Node* slow = head->next; Node* fast = head->next; while(fast && fast->next){ slow = slow->next...

2018-09-20 22:38:09 390

原创 leetcode Insertion Sort List

问题: 对链表进行排序思路1:链表是顺序存储的,通过简单插入排序法。记录以下指针:当前指针;当前指针的下一个指针;链表的第一个指针(通过头结点实现):沿着头结点找到插入的前一个位置和后一个位置。 ListNode* insertionSortList(ListNode* head) { //链表的插入方式是 直接断开原来的链接 ListNode* du...

2018-09-19 09:07:54 130

原创 leetcode :Sort Colors

 https://leetcode.com/problems/sort-colors/description/问题: 0,1,2组成的数组,在in-place的空间复杂度条件下进行排序思路:利用划分的思想,以一个数字作为anchor,每划分一次,确定这个anchor的顺序。void sortColors(vector<int>& nums) { /...

2018-09-19 08:24:21 103

原创 编程题 字符串A在字符串B中出现的次数

腾讯笔试题之一,过了70%,超时。输入:整数k, 字符串a,字符串b输出:字符串a中k个字符在b出现的次数。int main(){ int k; string a; string b; set<string> tempset; while(cin >>k >> a >> b){ i...

2018-09-16 17:23:15 6164

原创 关于走格子的问题

dfs: 所有可能的路径,是否存在某一条路径bfs: 遍历图,最短路径深度优先搜索利用了栈进行计算,而宽度优先搜索则利用了队列进行计算1.简单版:从(0,0)走到(n,m),只能往下或往右走,最短的路径。(这里最短路径的意思就是只会走m+n个空格)注意这里的矩阵大小是(m+1)*(n+1)多少种走法:C(m+n,n),或者用动态规划的方式求解。记录路径:用dfstyped...

2018-09-16 12:18:05 1164

原创 四则运算

1.构造后缀表达式利用stack,存储操作符;自定义一个数据结构,存放val 和 op; 入栈的操作符优先级要高于栈顶的操作符。如果当前op优先级低,则需要把栈顶的op先出栈,再入栈 有可能输入的字符大于9, 则需要判断:从字符串中找出数字的计算方法   https://blog.csdn.net/liqiutuoyuan/article/details/728544712.利用后...

2018-09-13 18:14:43 636

原创 保持线程安全的几种方式

参考链接:https://dzone.com/articles/7-techniques-for-thread-safe-classes1.不要用static的变量2.使用local变量3.使用final,保持信息不可变4.保持线程之间的通信5.使用volitate6.synchronize ...

2018-09-12 15:36:04 1227

原创 c++ const的不同写法

const int *p; // const修饰的是*p,因此*p是常量不能改变,但可以改变p的指向;int const* p; // 同上,主要是看const与*的前后关系;int* const p; // const修饰的是p,因此p的指向是常量不能改变,但*p可以改变;const int const *p; // 两个const既修饰了*p也修饰了p,因此*p与p都是常量不能改变;...

2018-09-12 15:30:36 172

原创 try catch finally

参考链接:https://www.cnblogs.com/superFish2016/p/6687549.html1、finally语句总会执行2、如果try、catch中有return语句,finally中没有return,那么在finally中修改除包装类型和静态变量、全局变量以外的数据都不会对try、catch中返回的变量有任何的影响(包装类型、静态变量会改变、全局变量)3、尽量...

2018-09-12 14:15:37 609

原创 c++ 友元函数

友元关系是单向的,不可以继承的写法class A{friend class B; // B可以使用A 的protected 和privatefriend void fun();// 函数fun可以使用A的protected 和private}参考链接https://www.cnblogs.com/zhuyf87/archive/2013/02/25/2932682.html...

2018-09-11 12:27:50 1921

原创 c++ 内存分配及相关关键字

allocator 动态分配内存,将内存分配和对象构造分开。https://blog.csdn.net/u012333003/article/details/22104939new、delete 和 new[]/delete[]的区别参考链接https://blog.csdn.net/zyazky/article/details/52627200int *pia = new int[...

2018-09-11 11:55:10 375

原创 c++ 容器 vector list deque priority_queue

参考链接:https://www.cnblogs.com/roucheng/p/cpprongqi.html随机存取就是直接存取,可以通过下标直接访问的那种数据结构,与存储位置无关,例如数组。非随机存取就是顺序存取了,不能通过下标访问了,只能按照存储顺序存取,与存储位置有关,例如链表。总结vector 是一段连续的内存块,而deque 是多个连续的内存块, list 是所有数据元素分开...

2018-09-10 21:43:52 184

原创 mysql 索引相关知识

参考链接 :https://www.cnblogs.com/heyonggang/p/6610526.html

2018-09-09 19:26:22 140

原创 c/c++ 结构体和联合体的区别

原文链接:https://www.cnblogs.com/nktblog/p/4027107.html

2018-09-08 09:48:33 214

原创 PCA与LDA的异同

PCA和LDA虽然都用到数据降维的思想。监督方式不一样,PCA是无监督的,LDA是有监督的。 目的也不一样。PCA是为了去除原始数据集中冗余的维度,让投影子空间的各个维度的方差尽可能大,也就是熵尽可能大。LDA(线性判别式分析)关注的是标注,希望投影之后不同类别的数据点距离尽量大,相同类别的数据点距离尽量紧凑。...

2018-09-07 14:52:38 2413 1

原创 单链表的操作

 带头结点的链表操作:参考链接:https://www.cnblogs.com/KGvito/p/8111047.html注意插入操作中,有两步 ptemp->next = p->next; p->next = ptemp; ...

2018-09-07 12:01:27 100

原创 网格索引 和四叉树索引

参考链接:https://blog.csdn.net/zhshulin/article/details/19031177问题:在一个平面层上面,给出一个矩形,找出这个矩形里的所有点。暴力法:遍历所有点,判断是否在矩形里面 网格索引:划分网格,对于每个网格元素,作为集合对象,记录包含在这个网格里面的所有图元的信息(地址或引用)。缺点:如果索引一条线的时候,一条线的引用在多个网格中都被记录...

2018-09-07 11:35:05 2405

原创 红黑树与平衡二叉树

红黑树和平衡二叉树区别如下:1、红黑树放弃了追求完全平衡,追求大致平衡,在与平衡二叉树的时间复杂度相差不大的情况下,保证每次插入最多只需要三次旋转就能达到平衡,实现起来也更为简单。2、平衡二叉树追求绝对平衡,条件比较苛刻,实现起来比较麻烦,每次插入新节点之后需要旋转的次数不能预知。平衡二叉树介绍:https://blog.csdn.net/lpp0900320123/article/det...

2018-09-07 09:44:52 3043

原创 java 和c++的比较

Java 中的final 和C++ 中的const 有什么区别?参考链接 https://www.zhihu.com/question/35593391/answer/63576986C++/Java 中static对比参考链接:https://blog.csdn.net/m0_38086436/article/details/80310946java有几大特性;c++有几大特性?c...

2018-09-06 08:51:55 157

原创 perpetual loss的定义和作用

https://www.jianshu.com/p/58fd418fcabf

2018-09-04 18:01:41 557

原创 位运算小结

n >>=1  :  n = n/2 n&1==1 : n%2 == 1 n = n&(n-1) 可以将n二进制中最右边1后面的数都变为0 如n =6,则 n = 110 & 101 = 100 求n的二进制位(反向  ) while(n){ cout<< n&1 ; n >> =1;}//n=6 (11...

2018-08-31 16:05:03 111

原创 输入vector生成三通道的Mat

string filename = "/data1/home/duyaru/SDK/xuanwu_sdk_0226/jpeg.value"; std::ifstream inf(filename); if (!inf.is_open()){ std::cout << "Error opening file"; } vector<int> res...

2018-08-30 15:37:11 1058

原创 深度学习 反向传播的过程

参见链接https://www.cnblogs.com/charlotte77/p/5629865.htmlkey:1.链式求导2.更新当前层的w 和 b 是对求导;而反向传播的delta 是对该层的输入求导。  

2018-08-24 22:30:53 466

原创 leetcode 反转链表

key:1. 定义三个指针,cur;newhead;cur的前一个结点 pre2.判断最后一个结点,直接赋值给newhead*** 如果是双向链表,就是多了一步往前的指针处理**** 如果是将二叉搜索树转换成有序的双向链表,也是一样的:中序遍历 + 根节点处的指针转换;同时要注意对于参数pre,要用*&解释:指针是一个存放地址的变量,而指针引用指的是这个变量的引用,...

2018-08-24 22:21:59 194

原创 leetcode 重建二叉树

key:1. 递归的返回条件:ps > pe;2. 左右子树的索引更新:其中index是根据前序遍历在中序遍历中找到的值preorder: (ps+1, ps+index-is);    (ps+index-is+1, pe)inorder: (is, index-1); (index+1, ie) class Solution {public: Tree...

2018-08-24 11:43:53 445

原创 字符串反转或转数字相关操作

https://www.jianshu.com/p/bc96329df0f7key:指针的使用 char * pstr;

2018-08-23 14:24:17 138

原创 leetcode binary-tree-maximum-path-sum

key:1.递归,每次返回当前节点作为父节点到任意子节点之间的最大距离。2.最大距离的评判标准:max(res,sum),其中 sum表示当前节点作为父节点时,任意子节点之间的距离和。  int res; int maxPathSum(TreeNode *root) { if(!root) return 0; res = INT_MIN;...

2018-08-23 08:55:12 79

原创 c++ 指针和引用的区别

参考链接:https://www.cnblogs.com/dingxiaoqiang/p/8012578.html指针和引用的相同点和不同点:★相同点:●都是地址的概念;指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。★不同点:●指针是一个实体,而引用仅是个别名;●引用只能在定义时被初始化一次,之后不可变;指针可变;引用“从一而终”,指针可以“见异...

2018-08-21 16:00:06 83

原创 c++ const

参考链接:https://www.geeksforgeeks.org/function-overloading-and-const-functions/作为函数,可以overload,const 函数 和 非const 函数作为参数,只有为引用或指针时,可以overload如 void fun(const int& i){};void fun(int& i){};...

2018-08-21 15:10:56 87

原创 c++ 为什么需要.h文件

参考地址:https://mp.weixin.qq.com/s?__biz=MzA5MjQ2MDg1Mg==&mid=2247483716&idx=1&sn=b14ace510810e593c44c6439f610e770&chksm=906d831fa71a0a096d3079b6fac11a9659e9fd12db0fc0307ae30690542a2e30...

2018-08-21 12:03:38 3863

原创 leetcode record list

题目:Given a singly linked list L: L 0→L 1→…→L n-1→L n,reorder it to: L 0→L n →L 1→L n-1→L 2→L n-2→…You must do this in-place without altering the nodes' values.For example,Given{1,2,3,4}, reord...

2018-08-20 10:42:50 162

原创 static的作用

https://blog.csdn.net/m0_38086436/article/details/80310946c++(1)隐藏 如果加了static,那么不会被其他源文件访问(java也有该性质)(2)保持变量内容的持久性(3)默认初始化为0java作用:为某特定数据类型或对象分配单一的存储空间,而与创建对象个数无关。与c++的区别:(1)java可以直接调用...

2018-08-19 14:48:30 841

原创 leetcode 二叉树 两个结点的最短距离

参考链接 https://www.cnblogs.com/wxdjss/p/5698071.html

2018-08-15 08:55:03 4694 1

原创 手写 queue 和dequeue

参考链接  https://blog.csdn.net/foreyes_1001/article/details/52215243

2018-08-14 23:02:35 1152

空空如也

空空如也

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

TA关注的人

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