自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 C/C++中volatile关键字详解

1.为什么用volatile?c/c++中的volatile关键字和const对应,用来修饰变量,通常用于建立语言级别的memory barrier。这是BS在“The C++ Programming Language”对volatile修饰词的说明:"A volatile specifier is a hint to a complier that an object may cha

2017-08-27 00:31:31 337

原创 经典动态规划问题总结

动态规划引入首先我们以一个最基本的例子来分析——菲波那切数列。我们都知道,菲波那切数列的递推公式f(n) = f(n-1)+f(n-2) (这里我就说明一般情况,不列举边界条件了),很简单,如果我们用递归的方法来求解f(n),两三行代码就出来了。那么我们深入分析一下这样有什么问题?f(2) = f(1) + f(0);f(3) = f(2) + f(1);f(4) = f(

2017-08-16 17:25:37 612

原创 环形链表插值

在一个环形单链表中插入一个值为val的结点,使得插入后的链表仍然有序。分析:我们设置两个指针,分别指向链表中的某一个结点和下一个结点,如果val的值在其中间,则将对应结点插入这两个结点中间,如果val的值比所有的结点值都大,则插入在头结点的前面,如果val的值比所有的值都小,则也插入在头结点前面,不过返回值应该是这个新的结点。//链表结构struct LinkList{ int

2017-08-09 08:46:31 485

原创 最长无重复字符子串

给定一个字符串,求出其最长的无重复的字符子串的长度。例:给定字符串str = “abcdahisjgdb”,则其最长无重复子串为“bcdahisjg”,长度为9。思路:我们遍历字符串,计算以每一个字符开头的所有无重复子串的长度,最后比较这些长度,找出最大的一个。在每一次的循环中,我们用哈希表来统计有无重复的字符。本题比较简单,直接上代码。code:int l

2017-08-07 20:47:36 445

原创 字符串拼接最小字典

给定一个字符串数组,找到一种拼接顺序,使得所有小字符串拼接成的大字符串在所有可能的拼接中字典序最小。例如:给定strArr = {"bac", "bd"},n = 2。则有两种拼接顺序bacbd和bdbac,显然第一种拼接的字典序要小于第二种。我们是否可以这样认为:如果str1的字典序小于str2的字典序,那么str1一定就放在前面,也就是str1+str2的字典序一定小于str2

2017-08-07 16:40:13 878

原创 字符串的移位

给定一个字符串str及其长度len,将其前面n个字符移动到字符串的尾部,将后面的(len-n)个字符串移动到字符串的前面。要求:算法的额外空间复杂度为O(1)。例:str = “ABCEF”,len = 5, n = 3,则移位后的字符串str = “EFABC”。思路:如果对空间复杂度没有要求,则我们可以将字符串看做两部分,然后开辟两块空间来存储,然后将两个子串调换位置即可,但是

2017-08-07 16:11:44 1751

原创 排序数组中的相邻两数最大差值

给定一个数组A及其大小n,求其排序后的相邻两数的最大差值。(注:要求时间复杂度为O(n))思路:题目要求对排序后的数组进行操作,显然需要先对数组进行排序。如果没有要求时间复杂度,那么可以有很多种排序算法,如快速排序、堆排序、归并排序等等。但是这里要求时间复杂度为O(n),就不能用上述常规的排序算法了。那么桶排序可以吗?由于我们不知道最大数的位数,因此,如果最大数的位数很大的话,我们

2017-08-07 10:45:06 2696 1

空空如也

空空如也

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

TA关注的人

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