自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 剑指offer :二叉树的前序,中序,后序遍历

1 递归2 非递归class Solution{public://前序遍历//递归实现 void PreOrder(TreeNode *root) { if (root == NULL) { return; } cout << root_val; PreO...

2019-01-03 14:55:21 178

原创 剑指offer 20:包含min函数的栈

包含min函数的栈:1 压入:将value压入数据栈中,如果最小栈为空或者value小于最小栈顶,则把value压入最小栈中; 不然,把最小栈顶压入最小栈中2 弹出,两个都弹3 最小栈中栈顶保存的都是数据栈中的最小值 #include <iostream>#include <stack>#include <assert.h>us...

2019-01-01 19:53:11 146

原创 剑指offer 59:按之字顺序打印二叉树

按之字顺序打印二叉树:先按层次遍历,保存到数组中,打印的时候,遇到偶数行,反转打印 #include <iostream>#include <algorithm>#include <vector>using namespace std;struct TreeNode{ int val; struct TreeNode ...

2019-01-01 14:06:00 172

原创 剑指offer 58 :对称的二叉树

对称的二叉树 #include <iostream>using namespace std;struct TreeNode{ int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x = 0) :val(x), left(NULL...

2019-01-01 11:49:59 149

原创 剑指offer 57:二叉树的下一个结点

思路:中序遍历中有右子树,就是其右子树的下一个结点, 比如结点5的下一个结点是7没右子树,是其父亲的左子树,下一个结点是其父亲,比如结点9的下一个结点是4没右子树,是父亲的右子树,下一个节点是当前节点所在左子树根,比如结点2的下一个结点是3#include <iostream>using namespace std;struct TreeLinkNo...

2019-01-01 11:10:02 111

原创 剑指offer 24:二叉树中和为某一值的路径

二叉树中和为某一值的路径#include <iostream>#include <vector>using namespace std;using namespace std;struct TreeNode{ int val; TreeNode *left; TreeNode *right; /*TreeNode(int...

2018-12-31 15:49:22 105

原创 剑指offer 22:从上往下打印二叉树

 从上往下打印二叉树#include <iostream>#include <vector>using namespace std;using namespace std;struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int x) ...

2018-12-31 09:53:10 99

原创 剑指offer 18:二叉树的镜像

二叉树的镜像先序遍历#include <iostream>#include <stack>#include <algorithm>using namespace std;struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(in...

2018-12-31 09:11:25 104

原创 剑指offer 17:树的子结构

树的子结构 #include <iostream>using namespace std;//树的子结构struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NUL...

2018-12-30 21:29:52 113

原创 剑指offer 4 :重建二叉树

重建二叉树:#include <iostream>#include <vector>//重建二叉树using namespace std;struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), ...

2018-12-30 20:47:32 118

原创 剑指offer 12 : 数值的整数次方

1 考虑指数和底数不同的条件#include <iostream>#include <cmath>using namespace std;class solution{public: //12 数值的整数次方 double power(double base, int exponent) { if (exponent =...

2018-12-30 14:30:43 106

原创 剑指offer: 56 删除链表中重复的节点

#include <iostream>using namespace std;struct ListNode{ int val; struct ListNode *next; ListNode(int x = 0) : val(x),next(NULL) { }};class Solution{...

2018-12-30 11:26:14 118

原创 剑指offer 36:两个链表的第一个公共节点

#include <iostream>struct ListNode{public: int val; struct ListNode *next;};using namespace std;class solution{public: //36 找到两个链表的第一个公共节点 //让长的一个链表先走,实现右对齐 ...

2018-12-30 10:14:55 88

原创 剑指offer 16:合并两个有序链表

递归实现#include <iostream>using namespace std;struct ListNode{public: int val; struct ListNode *next;};class Solution{public: // 16 合并两个有序链表 //递归实现 ListN...

2018-12-29 22:02:18 134

原创 剑指offer 15:反转链表

#include <iostream>using namespace std;struct ListNode{public: int val; struct ListNode *next;};class Solution{public: ListNode* ReverseList(ListNode* pHead) { L...

2018-12-29 21:42:29 81

原创 剑指offer 14:链表中倒数第K个节点

方法:双指针法 right指针先走K步,然后left,right指针一起走,当right = NULL,left指针到倒数第K个节点#include <iostream>#include <stack>#include <vector>using namespace std;struct ListNode{public: int va...

2018-12-29 21:01:15 119

原创 剑指offer 3:从尾到头打印链表

利用栈的先进后出特性#include <iostream>#include <stack>#include <vector>using namespace std;struct ListNode{public: int val; struct ListNode *next;};class Solution{publi...

2018-12-29 20:57:06 95

原创 Qt: This does not seem to be a "Debug"build 解决办法

问题:在linux下用qt Creator 调试程序时可能会出现以下信息解决方法就是,点击右侧项目,出现如下框图。然后“编辑构建配置"添加“Debug”,选择Debug,紧接着点击“Run CMake”    出现如下框图,我们在参数那填入"-DCMAKE_BUILD_TYPE=Debug",然后点击“执行CMake”,就能解决上述问题,将编译器从Release模式...

2018-12-27 14:28:09 8318 1

原创 剑指offer 5:用两个栈实现队列

#include <iostream>#include <stack>using namespace std;class Solution{public: void push(int node) { stackIn.push(node);//入栈 } int pop() { int node = -1;...

2018-12-26 15:14:31 81

原创 数据结构与算法: 快速排序

void quickSort(vector<int> &arra, int L, int R) { int *p; p = partition2(arra, L, R); cout << p[0] << endl; quickSort(arra, L, p[0] - 1); ...

2018-12-25 15:46:42 86

原创 剑指offer 44:翻转单词顺序序列

// 翻转单词顺序序列 // 先翻转所有单词,再逐个单词翻转 string ReverseSentence(string str) { if (str.size() == 0) { return " "; } Reverse(str, 0, str.size() - 1); //翻转所有单词 ...

2018-12-25 10:19:05 209

原创 剑指offer 43:左旋转字符串

1 两倍串 截取2 三次翻转#include &lt;iostream&gt;#include &lt;string&gt;using namespace std;class Solution{public: //两倍串截取 string LeftRotationString(string str, int n) { if (str....

2018-12-25 09:15:53 101

原创 剑指offer 34:第一个只出现一次的字符

遍历#include &lt;iostream&gt;#include &lt;string&gt;using namespace std;class Solution{public: int FirstNotRepeatingChar(string str) { if (str.length() == 0) { retur...

2018-12-25 08:19:03 105

原创 剑指offer 2 替换空格

1 遍历2 找到空格后, count+1,len =  length + 2*count, 插入字符#include &lt;iostream&gt;#include &lt;vector&gt;using namespace std;class Solution{public: // %20 替换空格 // 遍历 void ReplaceSpace(...

2018-12-24 21:16:18 88

原创 剑指offer 50 找到数组中重数的数字

1 先排序,再寻找#include &lt;iostream&gt;#include &lt;vector&gt;using namespace std;class Solution{public: //找到数组中重复的数字 bool duplicate(vector&lt;int&gt; &amp;numbers, int* duplication)...

2018-12-24 19:18:34 193

原创 剑指offer 37 数字在排序数组中出现的次数

1 遍历寻找2 二分查找法:  正常二分法  递归二分法 #include &lt;iostream&gt;#include &lt;vector&gt;using namespace std;class Solution{public: // 数字在排序数组中出现的次数 //遍历 int GetNumberOfK(vector&lt;...

2018-12-24 16:32:02 89

原创 剑指offer 28 数组中出现次数超过一半的数字

1 先排序 ,再遍历,计数值大于一半,则为那个数2 阵地攻守 ,计数相同加1,不同减1,计数为0,换接下来一个数,计数为1 //数组中出现次数超过一半的数字 int MoreHalfNumber(vector&lt;int&gt; &amp;numbers) { if (numbers.size() == 0) { return 0;...

2018-12-24 11:03:34 106 1

原创 剑指offer 30 : 连续子数组的最大和

1 两次遍历 寻找最大和2 贪心思想,sum为负数,sum为当前值, sum大于0,为sum加当前值; 如果全为负数,找到最大的一个负数//连续子数组的最大和 int FindGreatSum(vector&lt;int&gt; array) { if (array.size() == 0) { return 0; } ...

2018-12-24 10:58:00 86

原创 剑指offer:13 调整数组中的偶数到奇数后面

1 冒泡解法 稳定2 辅助数组 稳定3 两个指针 不稳定#include &lt;iostream&gt;#include &lt;vector&gt;using namespace std;class solution{public: //冒泡解法 void reOerderArray(vector&lt;int&gt; &amp;array){ ...

2018-12-23 21:21:22 74

原创 数据结构与算法: 排序1

1 冒泡排序2 选择排序3 插入排序  #include &lt;iostream&gt;#include &lt;vector&gt;using namespace std;class Solution{public: //冒泡排序 void bubble_sort(vector&lt;int&gt; &amp;array) { ...

2018-12-23 18:34:06 91

原创 剑指offer 35 数组中的逆序对

 1: 遍历,只要前面的值大于后面的一个值,就加1;2 : 冒泡排序,交换一次,就+1;3: 归并排序: #include &lt;iostream&gt;#include &lt;vector&gt;using namespace std;class solution{public: //暴力,遍历 int Inverspairs(vector...

2018-12-23 18:29:34 59

原创 剑指offer:1 二维数组的查找

1暴力解法,直接遍历找值2如果数组从右上角出发,则往下转或往左转,,如果数组从左下角出发,则往右转或往上转#include &lt;iostream&gt;#include &lt;vector&gt;using namespace std;class Solution{public: //暴力,遍历 bool Find(vector&lt;vector&l...

2018-12-23 18:24:52 78

原创 剑指offer:6 旋转数组的最小数字

 三种方法:1 遍历直接寻找最小值2 依据数组特性,最小值在最大值的后面3 二分查找,定义low,high两个指针,还有mid指针,mid=low+(high-low)/2,如果array[low]小于array[mid],则最小值在array[mid] 后面,此时mid为low,相反,mid为high。如果最终high-low==0,最小值即为array[high].#in...

2018-12-23 18:18:17 62

原创 ubuntu16.04 gedit显示行数的设置

  今天通过gedit写代码的时候想找到具体的文件行数,但是gedit默认是不显示代码行数的,所以需要设置一下:首先选择编辑-》重选项,查看里对“显示行号(D)”打勾,OK。...

2018-10-19 10:38:08 8534 7

原创 keras:Process finished with exit code 137 (interrupted by signal 9: SIGKILL)

完整错误信息:Process finished with exit code 137 (interrupted by signal 9: SIGKILL)出现这个信息说明发生了内存不足的问题,在keras中,可以选择小的batch_size,不要把一整个大的文件一次性读到内存里。如果是ubuntu系统,出现此问题的一个原因是cpu不够了,当运行的网络很复杂的时候,需要加载很大的权重,需要cpu...

2018-10-10 09:40:15 24825 1

百面机器学习

机器学习面试题,用来查阅,构建知识体系,校招前准备

2018-12-30

空空如也

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

TA关注的人

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