自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Linux基础——makefile编写

Makefile基本原则和原理 makefile中的三要素:目标、依赖、命令 目标:要生成的目标文件(在Makefile中会把第一个目标作为终极目标,一切以生成终极目标为最终目的) 依赖:生成目标文件需要的一些文件 命令:借助依赖文件生成目标文件的手段 工作原理:要生成终极目标,...

2018-07-05 10:58:54 2242 0

原创 Linux基础——gdb调试

启动gdb调试 生成可执行文件之前必须加参数 -g gcc hello.c -o hello -g gdb hello 启动调试 gdb相关命令 参数 用途 l 列出文件代码清单 l + 行号n 从第n行开始显示代码 b + 行号n +...

2018-07-04 10:57:01 119 0

原创 Linux基础——gcc编译、静态库与动态库(共享库)

gcc编译器 1、gcc工作流程 2、gcc常用参数 参数 用途 -v 查看版本 -o 产生目标文件 -I+目录 指定头文件目录 -D 编译时定义宏 -00/-01/-03 没有优化/缺省值/优化级别最高 ...

2018-07-03 17:44:34 11298 1

原创 Linux基础——vim基本操作

vim工作模式 命令模式 – 打开文件之后, 默认进入命令模式 编辑模式 – 需要输入一些命令, 切换到编辑模式 末行模式 – 在末行模式下可以输入一些命令 命令模式下的操作 1、移动光标 2、删除操作 3、撤销操作 u:一步一步撤销 ctrl+r:反撤销 4、复制...

2018-07-02 11:26:05 131 0

原创 c语言进阶——文件读写

文件的打开fopen() 文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了。当使用打开函数时,必须给出文件名、文件操作方式(读、写或读写),如果该文件名不存在,就意味着建立(只对写文件而...

2018-06-21 17:05:34 217 0

原创 c语言进阶——结构体专题

结构体类型定义及变量定义 1、定义结构体类型变量的三种方式 //用类型定义变量的方法3种 //第一种:定义类型的同时定义变量 struct Student { char name[64]; int age; }s1, s2; //第二种:使用结构体类型定义变量 typed...

2018-06-21 09:30:06 156 0

原创 c语言进阶——多维数组本质及指针数组的应用分析

多维数组的本质 一维数组int a[10]在做函数参数时会退化为指针int *a,但是二维指针做函数参数时却不能写成二级指针,那么二维数组的本质到底是什么,可以通过代码来验证。 int a[3][5], i=0, j=0;//定义一个3*5的二维数组 int tmp = ...

2018-06-12 15:00:13 107 0

原创 c语言进阶——数组类型与数组指针

数组基本概念 元素类型角度:数组是相同类型的变量的有序集合 内存角度:连续的一大片内存空间 数组的初始化 //数组元素的个数可以显式或隐式指定 //数组初始化可以使用{0}或memeset两种方式 void main() { int a[] = {1, 2}; //隐式...

2018-06-10 11:59:05 94 0

原创 c语言进阶——多级指针内存模型

多级指针内存模型(以三级指针为例) 指针的最大作用:间接赋值 推论:n级指针形参可以间接改变n-1及指针实参的值 三级指针作用:通过函数参数来为二级指针分配内存,间接赋值,回收内存 //为二级指针分配内存 int getMem(char ***p3 , int num) { ...

2018-06-08 15:17:45 125 0

原创 c语言进阶——二级指针内存模型

二级指针输出模型 //指针做输出:被调用函数分配内存 //指针做输入:主调用函数分配内存 //求文件中的两段话的长度 int getMem(char **myp1, int *mylen1, char **myp2, int *mylen2) { char *tmp1 = NULL;...

2018-06-08 14:58:28 106 0

原创 c语言进阶——字符串和一级指针内存模型

字符串基本操作 在C语言中使用字符数组来模拟字符串 C语言中的字符串是以’\0’结束的字符数组 C语言中的字符串可以分配于栈空间,堆空间或者只读存储区 1、字符数组初始化 //1 指定长度初始化 char buf2[100] = {'a', &#...

2018-06-07 16:05:24 98 0

原创 c语言进阶——指针概述

指针是一种数据类型 1、指针也是一种变量,占有内存空间,保存内存地址 2、*p操作内存 在指针声明时,*号表示所声明的变量为指针 在指针使用时,*号表示操作指针所指向的内存空间中的值 *p相当于通过地址(p变量的值)找到一块内存;然后操作内存 *p放在等号的左边赋值(给内存赋值) *p放在...

2018-05-31 15:09:49 474 0

原创 c语言进阶——函数调用模型

函数调用模型分析 fb在栈上分配的内存空间,不能被fa和main使用 fb在堆上分配的内存空间,可以被fa和main使用 fb在静态、全局区分配的内存空间可以被fa和main使用 ...

2018-05-30 10:41:11 250 0

原创 c语言进阶——程序的内存四区

内存四区的建立流程 流程说明 1. 操作系统把物理硬盘代码load到内存 2. 操作系统把c代码分成四个区 3. 操作系统找到main函数入口执行 内存四区元素分析 静态存储区理解 char * getStr1() { char *p1 = "ab...

2018-05-30 10:07:16 167 0

原创 c语言进阶——变量本质分析

变量本质分析 变量的本质是一段连续内存空间的别名,程序通过变量来申请和命名内存空间。可以把变量理解为访问 内存的“门牌号”,对变量进行读写操作并不是往变量中读写数据,而是通过变量这个“门牌号”来操作内存。 修改变量的几种方法 直接修改 间接修改(通过内存地址进行修改)——指针的产生 ...

2018-05-27 17:24:43 82 0

原创 c语言进阶——数据类型本质分析

数组做函数参数的退回问题 当数组做函数形参时,数组会退回为一个指针变量 下面用一个例子给出一个简单的证明 void sortArray(int a[], int num) { int i, j, tmp; int num2 = 0; num2 = sizeof(...

2018-05-27 16:56:45 97 0

原创 链表专题—LeetCode 21. Merge Two Sorted Lists

题目链接 LeetCode 21. Merge Two Sorted Lists 题目描述 Merge two sorted linked lists and return it as a new list. The new list should be made by splicing...

2018-05-18 11:08:15 107 0

原创 链表专题—LeetCode 19. Remove Nth Node From End of List

解题思路 第一种方法: 1、计算出链表的长度len 2、根据给出的倒数第n个结点计算出结点要移动的次数 第二种方法(最优): 1、创建指针curr,p指向头结点 2、将curr移动n个位置,此时curr与p的距离即为n 3、将curr和p依次后移,当curr移动到链表尾部时,p所指的...

2018-05-18 10:42:49 43 0

原创 链表专题—LeetCode 2.Add Two Numbers

解题思路: 1、输入为两个用链表存储的逆序数,输出也为逆序,因此不用将输入转化为正序。 2、从两个链表的头结点开始依次相加,存储到新链表中。 3、注意计算进位。 注意: 1、输入数字很大,要使用大数加法进行计算。 2、两个链表可以不一样长。 class Solution { publ...

2018-05-17 18:09:47 58 0

原创 面试经验(6)

1、若PCping不通路由器,要怎样排查故障 Ping 127.0.0.1,该地址是本地循环地址,如发现本地址无法Ping通,就表明本地机TCP/IP协议不能正常工作 如果上面操作成功,可Ping通的话,我们接下来可以输入IPConfig来查看本地的IP地址,然后Ping该IP,通则表明网络适...

2018-03-18 22:49:02 120 2

原创 面试经验(5)

1、编译型语言和解释性语言的区别 编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言就不用再进行翻译了。 解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。 2、动态链接库和静态链接库 静...

2018-03-13 23:40:01 87 0

转载 面试经验(4)—A*算法

http://blog.vckbase.com/panic/archive/2005/03/20/3778.html A*寻路初探原文:Patrick Lester翻...

2018-03-13 09:57:51 574 0

原创 面试经验(3)—位运算技巧

位运算基本操作总结 1、左移操作符 将A的二进制表示的每一位向左移B位,左边超出的位截掉,右边不足的位补0 A = 1100 B = 2 A << B = 110000 2、右移操作 A >> B C语言:只有逻辑右移 A ...

2018-03-12 22:37:24 54 0

原创 面试经验(2)——数据库专题(1)

数据库相关面试题总结 1、关系型数据库与非关系型数据库的区别 关系型数据库通过外键关联来建立表与表之间的关系,非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定,关系型数据库的扩展性差 2、常用基础SQL语句 创建数据库 CREA...

2018-03-11 23:56:02 94 0

原创 tensorflow笔记(3)

可视化 import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(1, 1, 1) ax.scatter(x_data, y_data) #显示散点图 plt.ion() #打开交互模式 ##绘画相关代码 p...

2018-03-11 19:20:45 61 0

转载 pycharm中使用tfdebugger及常见问题

环境Windows10,Anaconda3。 错误: curses问题 去这里下载相应的库:https://www.lfd.uci.edu/~gohlke/pythonlibs/#...

2018-03-11 15:26:17 829 0

原创 面试经验(1)

今天去了腾讯面试,面试的是两个师兄,感觉很和蔼,环境也很随和,但是自己的表现并不是特别的完美,面试官好像并不是特别满意。为了积累经验,以后能做到更好,在这里把问题记录下来,为以后做准备。 1、求逆序数对(使用归并排序) 2、单链表翻转(原有链表) 3、引用与指针区别 4、虚函数表 ...

2018-03-08 23:51:24 101 0

原创 动态规划专题—最大连续子序列和—A1007

最大连续子序列和问题如下 给定一个数字序列A1,A2,…,An,求i,j(1<=i<=j<=n),使得Ai+….+Aj最大,输出这个最大和。 样例:-2 11 -4 13 -5 2 1、令状态dp[i]表示以A[i]为结尾的连续序列的最大...

2018-02-26 12:04:39 709 0

原创 算法初步—贪心—A1038

思路: 给出一堆数字字符串,问怎样组合可以得到最小值。仔细观察可以发现只要按字典序排序,好像可以大致满足要求,但是字典序排序是有缺陷的比如32和321字典排序的结果为32321,而实际上32132是最小的,因此我们得出了贪心策略。 策略: 将字符串a和字符串b相加,比较a+b和b+a,返回值...

2018-02-11 23:20:16 87 0

原创 算法初步—贪心—A1067

#include <iostream> #include <cstdio> using namespace std; int main() { int N; int num[100005]; scanf("...

2018-02-11 23:00:02 63 0

原创 算法初步—贪心—A1037

思路: 本题比较简单,直接用最大正值相乘和最小负值相乘即可 #include<iostream> #include<cstdio> #include<algorithm> using namespace std...

2018-02-09 21:45:52 58 0

原创 算法初步—贪心—A1033

思路: 本题是典型的贪心问题,想要用最少的钱行驶完全程,只需要每次选择最便宜的加油站,加最多的油即可。 1、判断在最大距离范围内下一个站点A是否比当前站点便宜 2、若满足1,则只加刚好到A的油量,重复1 3、若最大距离范围内油价都比当前高,则在当前把油量加满(若可直接到达终点则无需加满) ...

2018-02-08 22:09:55 66 0

原创 算法初步—贪心—A1070

思路: 1、根据每个不同的月饼价格计算出每个月饼的单价,根据单价进行排序,不断选择最贵的月饼出售即可 注意点: 月饼的数量是浮点类型,否则会报错 #include #include #include #include using namespace std; struct Moon...

2018-02-05 18:12:21 71 0

原创 算法初步—贪心—基本贪心问题详解

1、区间不相交问题 描述:给出N个开区间(x,y),从中选择尽可能多的开区间,使得这些开区间两两没有交集。如给出区间(1,3),(2,4),(3,5),(6,7) 贪心策略: 很容易想到,如果我们想让N个区间中的子区间越多越好,那么肯定子区间的长度越短越好,这样才能有更大的剩余空间留给其它空...

2018-02-02 17:38:11 108 0

原创 算法初步—散列—A1048

思路: 运用散列的思想,记录不同面值的硬币数,再从1遍历寻找两个硬币即可 注意: 当出现两个相同面值硬币的和恰好等于需要钱数的时候,要注意判断数量是否>=2,如7+7=14 #include #include #include #include using namespace std...

2018-01-31 16:25:01 97 0

原创 算法初步—散列—A1050

思路: 采用hash的思想,记录要删去的字符,输出时跳过这些字符即可 #include #include #include #include using namespace std; int main() { char s1[10005],s2[10005]; int hash...

2018-01-31 15:01:34 62 0

原创 算法初步—散列—A1041

这道题比较简单,直接运用散列的思想即可轻松解决 #include #include #include #include using namespace std; int main() { int N,hash[10005]={0},bet[100005]; scanf("...

2018-01-31 12:10:14 59 0

原创 算法初步—散列—A1092

思路: 1、引入一个hash数组来对应字符串字符和数量 2、统计超市已有的各个颜色数量 3、根据要求的各颜色数量,判断是否符合条件以及缺少多少 #include #include #include #include using namespace std; int main() { ...

2018-01-31 11:41:25 54 0

原创 算法初步—散列—A1084

思路: 1、同时遍历两个字符串,出现不相等则说明有残缺键位 2、建立hash数组,将字符与是否统计过映射起来 注意点: 1、英文字母统一输出为大写字母 #include #include #include using namespace std; int main() { cha...

2018-01-31 11:19:56 52 0

原创 算法初步—排序—A1095

思路: 1、建立记录结构体,储存停车场的停车记录 2、建立一个map结构,将车辆与停车时间对应起来 3、对所有机构进行排序,排序规则相对车牌进行字典排序,再对相同车辆的进出时间进行升序 4、遍历排序好后的记录结构体数组,则相同车牌的状态为in则下一个必须为out,依据此原则取出无效记录,有...

2018-01-31 00:29:24 81 0

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