- 博客(7)
- 资源 (11)
- 收藏
- 关注
原创 剑指offer - 将字符串中空格替换为20%
将一个字符串中的所有空格替换成 20%,最直观的做法是从头到尾扫描字符串,然后每次碰到字符串时便替换,并将空格后面所有的字符向后移两个字节。假设字符串长度为n,对每个空格字符,需要移动后面O(n)个字符,因此对含有n个空格的字符串而言总的时间效率是O(n^2) 。时间复杂度达到n平方,说明程序效率并不高,因此可以采用另一种做法,就是先遍历一边字符串,计算出空格的数目,然后从字符串的后面开始
2015-09-20 01:12:18 586
原创 剑指offer - 二维数组的查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列。如何在该数组中查找是否含有该整数由于该数组的特殊性,我们可以采用如下算法进行查找:首先选取数组中右上角的数字,如果该数字等于要查找的数字,则结束查找过程;如果该数字大于要查找的数字,剔除这个数字所在的列;如果该数字小于要查找的数字,则剔除该数字所在的行。代码实现:bool fin
2015-09-19 21:27:41 376
原创 易忘知识整理
1、C++中的 vector 是一种动态数组,为了避免浪费,一般我们先为数组开辟较小的空间,然后往数组中添加数据。每次插入数据需要对vector扩容时,新的容量都扩展成原来的两倍,然后再把之前的数据复制到新的数组中;2、假设有 int array[ ] = {1, 2, 3, 4, 5}, 则求得 sizeof( array ) 值为 20。若是定义一个指针指向该数组或者是将该数组作为
2015-09-19 21:05:43 405
原创 剑指offer - 实现Singleton模式
由于只生成一个实例,因此需要将类的构造函数设为私有,然后生成实例的功能由它内部的函数去实现:解法一:(只适用于单线程模式)在多线程情况下,下面的代码可能会因为有多个线程同时执行到 if 判断语句,然后同时创建了Singleton的多个实例,从而破坏了单例模式。class Singleton{ private static Singleton single = null; priva
2015-09-19 18:25:02 529
原创 剑指offer - 赋值运算符函数
如下为类型CMyString的声明,为该类型添加赋值运算符函数:class CMyString{ public : CMyString(char* pData = NULL); CMyString(const CMyString& str); ~CMyString(void); private : ch
2015-09-19 12:16:13 689
原创 剑指offer - sizeof问题
1、定义一个空的类型,里面没有任何成员变量与成员函数,对该类型求 sizeof, 得到的结果为 1。解析:空类型的实例中不包含任何信息,本来求sizeof应该是0,但是由于我们声明该类型时,它必须在内存中占据一定的空间,否则无法使用这些实例。而占用多少内存,这是由编译器决定的。在Visual Studio中每个空类型的实例占用1字节的空间2、如果在该空类型中添加一个构造函数和析构函
2015-09-19 11:23:25 499
原创 const 使用过程中的难点和区别
如果函数需要传入一个指针,面试官可能会问是否需要为该指针加上const,把const加在指针不同的位置有什么区别;如果写的函数需要传入的参数是一个复杂类型的实例,面试官可能会问传入值参数或者引用参数有什么区别,什么时候需要为传入的引用参数加上const。 const是用来声明一个常量的,当你不想让一个值被改变时就用const,const int max和int const max 是没有区别的
2015-09-18 12:10:35 1000
sublime text vue文件高亮插件vue-syntax-highlight
2017-11-03
powerdesign12破解pdflm12.dll和license.lic文件
2016-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人