自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux 下安装 lua

根据菜鸟教程描写,下载,解压,make linux test 即可。但有可能有下面错误:<builtin>: recipe for target 'lua.o' failedmake[2]: *** [lua.o] Error 1make[2]: Leaving directory '/home/xxx/lua-5.3.0/src'Makefile:110: recipe f...

2019-04-18 09:10:20 358

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

题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止)。给一个数组,返回它的最大连续子序列...

2019-03-26 21:52:37 253

原创 剑指Offer 最小的k个数

题目描述:输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。本题在《剑指offer》中提供了两种解题思路,分别是使用快速排序和使用红黑树,下面分别讨论:第一种:使用快速排序的方法由于我们使用快速排序可以得到第n个位置的数字,并且n左边的数字比n小,n右边的数字比n大,那么如果n=k+1,则将n左边的数字返回即可,这里返回的...

2019-03-26 20:47:16 264

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

题目如下:题目描述,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。在《剑指offer》一书中,提供了两种思路,第一种使用快速排序,第二种使用数组本身的特点做,具体方法分别讨论如下:第一种解法,使用快速排序:我们可以使用快速排序,每...

2019-03-25 22:21:22 644

原创 剑指offer 二叉搜索树与双向链表

题目描述:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。

2019-03-23 20:32:04 137

原创 使用igraph绘制football数据集可视化

由于论文需要,仓促之下安装了igraph,整理一下绘图过程,下次就不用再百度了。。。igraph是一个用来绘制网络图的库,下面用football.gml文件举例,说明如何使用这个库。如有纰漏,望指正。对于gml文件的读取,该库非常简单,代码如下:g = igraph.Graph.Read_GML(filePath)# 源代码如下''' @classmethod def Rea...

2019-03-22 10:27:24 5089 2

原创 剑指Offer 复杂链表的复制

题目如下:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)本题在《剑指offer》里面提供了除了直接复制两种指针之外的两种思路,下面分别讨论第一种:使用一个哈希表存储节点信息,是一种用空间换时间的方法,时间复杂度为O(n)。首先...

2019-03-21 23:13:38 125

原创 linux下解决igraph.plot()的TypeError: plotting not available问题

查阅了网上的一些资料,觉得应该是少了某个库,尝试之后,发现,在正确安装了pip install python-igraph之后,继续安装pip install cairocffi 即可解决问题

2019-03-21 16:40:32 3945 2

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

题目来源:牛客网剑指Offer在线编程题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。这道题是上下左右顺序遍历二叉树,用队列可以解决,解题思路如下首先建立一个复制队列,在队列里加入这个二叉树的根节点,然后进入循环,循环终止的条件是该队列为空。在循环中,每次取出队列首的元素,将该元素的值加入要返回的vector中,然后弹出队列首的元素,判断该元素的左右子树是否为空,不为空则加入进...

2019-03-12 11:27:21 121

原创 windows编程入门(三)

加载图标资源我们可以自己下载ico文件和cur文件,可以分别修改窗口图标和鼠标图标,使用这些图标在窗口中项目中添加新建项在项目文件夹里找到新建号的两个文件,并修改其中内容加入头文件,并修改新建的窗口类加入:#include&amp;amp;quot;resource.h&amp;amp;quot;修改:修改成功了!...

2019-02-15 16:11:19 169

原创 windows编程入门(二)

下面记录下画出一个简单的窗口,注释如下,如有错误,希望留言指正代码来源:《Windows游戏编程大师技巧(第二版)》程序清单2-3#include&lt;Windows.h&gt;#include&lt;windowsx.h&gt;#include&lt;math.h&gt;#include&lt;stdio.h&gt;#define WINDOW_CLASS_NAME "WINCLA...

2019-02-15 11:50:07 189

原创 windows编程入门

记录一下windows编程编写一个消息框,算是学习windows编程的入门级程序吧以下代码来自:《windows游戏编程大师技巧(第二版)》#include&amp;lt;Windows.h&amp;gt;#include&amp;lt;windowsx.h&amp;gt;#include&amp;lt;string&amp;gt;#include&amp;lt;sstream&amp;gt;/*WIN32_LEAN

2019-02-14 22:26:11 1426

原创 PTA 数据结构与算法题目:是否同一棵二叉搜索树

本题目为陈越、何钦铭老师的数据结构课后作业7-4 是否同一棵二叉搜索树 (25 分)给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每...

2019-01-11 10:31:46 431

原创 PTA Data Structures and Algorithms 7-4 List Leaves

本题为陈越老师、何钦铭老师的数据结构课程的作业7-4 List Leaves (25 分)Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test...

2019-01-10 15:05:19 192

原创 PTA 数据结构与算法题目集 7-3 树的同构

学习陈越老师的数据结构课程时的作业7-3 树的同构 (25 分)给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。现给定两棵树,请你判断它们是否是同构的。输入格式:输入给出2棵二叉树树的信息。对于每棵树,首先在一行中给出一...

2019-01-10 10:29:14 419

原创 c++函数模板与函数指针

函数指针1、概念:与数据项相似,函数也有地址,函数的地址是存储其机器语言代码的内存的开始地址。获取函数的地址很简单:只要使用函数名(后面不跟参数)即可。也就是说,如果think()是一个函数,则think就是该函数的地址。要将函数作为参数进行传递,必须传递函数名。(《C++ Primer Plus 中文版》(第五版 p216))2、声明函数指针:double(*pf)(int),即声明了一个函...

2018-12-12 21:27:26 5121

原创 关于复制构造函数的学习

注:以下概念来自《c++ primer中文版》(第四版)复制构造函数概念:复制构造函数:是一种特殊的构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用。复制构造函数可以用于:根据另一个同类型的对象显式或隐式初始化一个对象。复制一个对象,将它作为实参传给一个函数。从函数返回时复制一个对象。初始化顺序容器中的元素。根据元素初始化式列表初始化数组元素。根据上...

2018-12-07 20:38:01 309

原创 iostream迭代器学习

注:以下概念大部分来自《c++ primer 中文版》(第四版)流迭代器主要分为两种:istream_iterator和ostream_iterator。前者用于读取输入流,后者用于写输出流。前者用于读取输入流,后者用于写输出流。这些迭代器将他们所对应的流视为特定类型的元素序列。流迭代器只定义了最基本的迭代器操作:自增、解引用和赋值。流迭代器只定义了最基本的迭代器操作:自增、解引用和赋值...

2018-12-06 11:46:48 192

原创 const限定符 及其指针 的学习

本文主要区分 const cname* 和 cname *const的区别文中定义出自《c++ primer中文版》(第四版)指向const对象的指针如果指针指向const对象,则不允许用指针来改变其所指的const值。为了保证这个特性,c++语言强制要求指向const对象的指针也必须有const特性。例:#include &amp;lt;iostream&amp;gt;#include &amp;lt;...

2018-12-03 09:07:04 207

原创 学习 extern 声明全局变量

学习extern之前,先学习两个概念(以下定义来自《c++ primer中文版》(第4版):变量的定义:用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,有且仅有一个定义。声明:用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过extern关键字声明变量而不定义它。下面通俗理解一下,首先,一个变量要赋值,要有一个存储空间,而定义就是为变...

2018-12-02 17:28:47 330

原创 leetcode 464. 我能赢吗

在 “100 game” 这个游戏中,两名玩家轮流选择从 1 到 10 的任意整数,累计整数和,先使得累计整数和达到 100 的玩家,即为胜者。如果我们将游戏规则改为 “玩家不能重复使用整数” 呢?例如,两个玩家可以轮流从公共整数池中抽取从 1 到 15 的整数(不放回),直到累计整数和 &gt;= 100。给定一个整数 maxChoosableInteger (整数池中可选择的最大数)和另...

2018-11-10 14:44:21 2028

原创 PTA 02-线性结构4 Pop Sequence (25 分)

Given a stack which can keep M numbers at most. Push N numbers in the order of 1, 2, 3, …, N and pop randomly. You are supposed to tell if a given sequence of numbers is a possible pop sequence of the...

2018-11-01 10:36:26 1633

原创 PTA 02-线性结构3 Reversing Linked List (25 分)

Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elements on L. For example, given L being 1→2→3→4→5→6, if K=3, then you must output 3→2→1→6→5→4; if K=4,...

2018-10-31 15:41:57 1642 3

原创 关于单链表的反转的学习

最近在学习mooc网上的 陈越、何钦铭 老师的数据结构,在做作业的时候遇到单链表反转问题,于是就拉出来单独了解一下:方法一:用数组下标模拟内存地址,代码如下:/*假设这里的地址不超过99999输入规则: 第一行:链表起始地址(head_position) 链表节点个数(node_num) 后node_num行:本节点地址(position) 节点值(value) 下一个节点的地址(ne...

2018-10-30 14:46:09 218

原创 PTA 02-线性结构2 一元多项式的乘法与加法运算 (20 分)

02-线性结构2 一元多项式的乘法与加法运算 (20 分)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应...

2018-10-27 11:12:29 809

原创 PTA 02-线性结构1 两个有序链表序列的合并 (15 分)

本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /*...

2018-10-25 17:33:36 597 1

原创 leetcode 416. 分割等和子集

给定一个只包含正整数的非空数组。是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。注意:每个数组中的元素不会超过 100数组的大小不会超过 200示例 1:输入: [1, 5, 11, 5]输出: true解释: 数组可以分割成 [1, 5, 5] 和 [11].输入: [1, 2, 3, 5]输出: false解释: 数组不能分割成两个元素和相等的子集....

2018-10-17 19:55:37 2939 1

原创 PTA 01-复杂度3 二分查找 (20 分)

01-复杂度3 二分查找 (20 分)本题要求实现二分查找算法。函数接口定义:Position BinarySearch( List L, ElementType X );其中List结构定义如下:typedef int Position;typedef struct LNode *List;struct LNode { ElementType Data[MAXSIZE];...

2018-10-17 15:48:11 658

原创 PTA 01-复杂度2 Maximum Subsequence Sum (25 分)

01-复杂度2 Maximum Subsequence Sum (25 分)Given a sequence of K integers { N​1​​, N​2​​, …, N​K​​ }. A continuous subsequence is defined to be { N​i​​, N​i+1​​, …, N​j​​ } where 1≤i≤j≤K. The Maximum Subs...

2018-10-17 15:41:56 833 2

原创 程序设计与算法(三)第十周 c++新特性和c++高级主题(3)

强制类型转换 :static_cast、interpret_cast、const_cast、dynamic_cast1、static_cast:static_cast 用来进行比较“自然”和低风险的转换,比如整型和实数型、字符型之间的互相转换。static_cast不能用来在不同类型的指针之间互相转换,也不能用于不同类型的引用之间的转换,也不能用于不同类型的引用之间的转换。#include &amp;...

2018-10-14 16:55:17 603 1

原创 程序设计与算法(三)第十周 c++新特性和c++高级主题 (2)

无序容器(哈希表)//哈希表插入和查询的时间复杂度几乎是常数#include &lt;iostream&gt;#include &lt;string&gt;#include &lt;unordered_map&gt;using namespace std;int main(){ unordered_map&lt;string, int&gt; turingWinner; ...

2018-10-08 17:50:51 246

原创 程序设计与算法(三)第十周 c++新特性和c++高级主题 (1)

2018-10-07 22:09:29 196

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

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。本题两个地方需要注意1、对数字的预处理,比如,0的负数次方等2、提高计算n的m次方的效率对于第一点,注意,如果是 base==0 &amp;amp;&amp;amp; exponent&amp;lt;0 则返回0.0,如果exponent是负数则先计算result = pow(base, -exponen...

2018-10-07 16:54:44 102

原创 leetcode 413. 等差数列划分

如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,以下数列为等差数列:1, 3, 5, 7, 97, 7, 7, 73, -1, -5, -9以下数列不是等差数列。1, 1, 2, 5, 7数组 A 包含 N 个数,且索引从0开始。数组 A 的一个子数组划分为数组 (P, Q),P 与 Q 是整数且满足 0&lt;=P&lt;Q&lt;N 。如果...

2018-10-07 10:15:01 438

原创 程序设计与算法(三)第九周 标准模板库STL(二)(3)

一个例子#include &lt;iostream&gt;#include &lt;algorithm&gt;#include &lt;vector&gt;#include &lt;iterator&gt;using namespace std;int main(){ int a[5]={1,2,3,2,5}; int b[6]={1,2,3,2,5,6}; ...

2018-10-06 16:50:36 223

原创 程序设计与算法(三)第九周 标准模板库STL(二)(2)

STL算法(一)

2018-10-06 11:03:54 264

原创 剑指offer 11 二进制中1的个数

题目描述输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。本题思路:n = n&amp;amp;(n-1)对于n-1的二进制而言,其值为原来的n的二进制的最后一个1变0,后面的0全部变为1。于是,n&amp;amp;(n-1)的结果是去掉了n的最后一个1。代码如下:class Solution {public: int NumberOf1(int n) { i...

2018-10-06 10:45:39 104

原创 377. 组合总和 Ⅳ

给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。示例:nums = [1, 2, 3]target = 4所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。因此输出为 7。本题是动态规划问题,拿上面的例子来说基本思路是...

2018-10-06 10:05:34 407

原创 leetcode 375. 猜数字大小 II

我们正在玩一个猜数游戏,游戏规则如下:我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字。每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了。然而,当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。直到你猜到我选的数字,你才算赢得了这个游戏。示例:n = 10, 我选择了8.第一轮: 你猜我选择的数字是5,我会告诉你,我的数字更大一些,然后你需要支付5块。...

2018-10-03 15:00:30 1470

原创 剑指offer 10 矩形覆盖

题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路:这个题是"斐波那契数列"的题目,借此机会总结一下"斐波那契"系:公式:f(n) = f(n-1) + f(n-2) 如果一个数列中的第n项的值为前两项的值的和,那么就是"斐波那契"了.适用:如果第n-1种情况中的任意一种情况都可以"扩展一下"到第...

2018-10-02 11:15:16 134

空空如也

空空如也

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

TA关注的人

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