自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ size_t和size_type

size_t和size_type的使用是为了让我们的程序更具移植性。起初我理解size_t对应类似int,而size_type对应类似于unsigned,两者在具体使用的是应该略有区别,后面跟朋友讨论时,他跟我说,没有道理说两者有什么区别,还为我举例论证。为了以后对两者不再模糊,于今天写下笔记方便回忆。事实上,标准容器限定了size_t为一个Allocator::size_type的别名,我们可以在vector中的allocator中找到其定义,如下图所示。所以,在标准情况下,两者完全一致。对于此,

2020-05-22 08:38:14 279

原创 C++ 类型别名的三种方式

类型别名是C++用来使类型在某些情况下更加容易理解而定义的类型的同义词。总共三种方法可以用来定义类型别名:1.#define:宏定义本质替换,所以也可以定义类型的同义词;2.typedef:传统方法;3.using:C++11新方法例子:typedef string qq;#define temperature doubleusing age = int;int main(){ qq name = "543975127"; temperature mon = 36.5; age a

2020-05-20 22:01:38 1508

原创 旋转数字的最小数字

题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。分析:题目定义了何为旋转数组,并且用例子告诉了我们输入的数组旋转前是非递减。所以由此我们可以获得以下信息:1.非递减数列意味着数列有序;2.旋转数组后,整个有序数组变为了两个有序数组(则数组相邻处存在跳变,如例子

2020-05-18 16:50:31 167

原创 重构二叉树

输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。分析:给了我们一颗二叉树的前序遍历和中序遍历,则我们根据两个遍历的遍历方式来思考如何重构。已知preorder:VLR,inorder:LVR。所以,很显然,preorder可以找到树的根节点,而有了根节点再看inorder,我们就能够清楚根节点的左子树inorder序列,

2020-05-18 10:46:23 234

原创 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。

时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32M,其他语言64M热度指数:1348087分析:从头到尾的顺序返回一个链表,首先我们立即思考到可以使用栈的结构或者和栈思想一致的递归,前者需要额外的空间,而后者则需要注意链表过长导致的运行时栈的溢出。带着这个思路我们看题发现题目已经定义了链表节点结构,并且指定了反转算法的返回值只能为vector。于是乎,既然不得不用vector,则我们只需要用vector完成栈功能即可。代码如下class Solution {public:

2020-05-15 17:24:07 116

空空如也

空空如也

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

TA关注的人

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