2017年10月19日

百度面试

摘要: C++面试题整理3 百度一面 50分钟 1. strcpy和memcpy的区别 (1)用途上的不同,strcpy只拷贝字符串,并且会是拷贝到字符串的最后一个’\0’结束符结束。而memcpy可以拷贝任意类型的数据,只要指定要拷贝的字节数。因此需要在使用时指定字节数n。参数以及返回值为void指针, 阅读全文

posted @ 2017-10-19 17:01 sjqiu 阅读(426) 评论(0) 推荐(0) 编辑

2017年7月22日

四种智能指针:auto_ptr,unique_ptr,shared_ptr,weak_ptr

摘要: stl中auto_ptr,unique_ptr,shared_ptr,weak_ptr四种智能指针的使用总结 (1)auto_ptr 主要用于解决资源自动释放的问题。防止用户忘记delete掉new申请的内存空间。使用auto_ptr会在离开变量的作用域之后直接调用析构函数进行资源释放。 但是,这是 阅读全文

posted @ 2017-07-22 15:43 sjqiu 阅读(461) 评论(0) 推荐(0) 编辑

2017年7月18日

剑指offer相关代码整理7-8

摘要: 49 把字符串转换成整数 有一个小细节,如果直接在代码中用整型的最小值0x80000000与res来进行比较,实际上默认为无符号整数。 51 数组中的重复数字 利用容器map会非常简单,也就是一种消耗空间换时间的算法。 另外有一种巧妙的解法是利用了数字的特征——长度为n的数组,数组中所有的数字范围是 阅读全文

posted @ 2017-07-18 16:33 sjqiu 阅读(129) 评论(0) 推荐(0) 编辑

剑指offer相关代码整理5-6

摘要: 第五部分 优化时间和空间效率 29 数组中出现次数超过一半的数字 这个题的关键在于,掌握的基本技巧之后,还要注意程序末尾有一个检验函数——也就是说存在那种可能性,最后存储的数字实际上并没有达到数量超过数组长度的一般,因此需要进一步检验一下。容易忘记。 另外还有一种基于partition函数的解法。 阅读全文

posted @ 2017-07-18 16:28 sjqiu 阅读(216) 评论(0) 推荐(0) 编辑

剑指offer相关代码整理2-4

摘要: 第二部分——面试需要的基础知识 01 赋值运算符函数 /*01赋值运算符函数 */ class CMyString { public: CMyString(const char* pData = NULL); CMyString(const CMyString& str); CMyString& o 阅读全文

posted @ 2017-07-18 16:10 sjqiu 阅读(184) 评论(0) 推荐(0) 编辑

2017年7月9日

位运算相关内容整理

摘要: 位运算相关内容整理 1) 负数 负数的右移:负数右移的话,由于要保持它是负数,所以负数的二进制的左边补1。如果一直右移的话,最后就就变成0xFFFFFFFF 即-1 如: -4>>1 为-2 ;-4>>2为-1 负数的左移:跟正整数左移一样,右边补0。左移总是在低位补零,高位丢失,因而负数左移后可能 阅读全文

posted @ 2017-07-09 14:15 sjqiu 阅读(188) 评论(0) 推荐(0) 编辑

2017年7月8日

kmp算法

摘要: KMP的精髓就在于,用了一个线性的算法,得到了每次在pattern[ j ]发生失配时,应该让pattern往后移动多少步,这个值对应于pattern [0, j - 1]的最长相等{前缀、后缀}的长度。这些值所存的数组叫做next数组。 关键是在于了解next数组的构成。 对于我自个儿来说,看一下 阅读全文

posted @ 2017-07-08 22:10 sjqiu 阅读(115) 评论(0) 推荐(0) 编辑

算术运算的模拟 —— 乘法,除法

摘要: 算数运算的模拟相关问题 大数的运算,不用乘除做除法,等等。待补充。。。 01 模拟两个大数相乘 02. 不用乘除做除法 借鉴思路如下: ”Suppose we want to divide 15 by 3, so 15 is dividend and 3 is divisor. Well, divi 阅读全文

posted @ 2017-07-08 21:51 sjqiu 阅读(379) 评论(0) 推荐(0) 编辑

一个关键的函数——strcpy的实现

摘要: 1. strcpy函数的原型是: 几个注意点:[1]const修饰;[2]空指针检查;[3]返回目标地址 2.假如要考虑dst和src内存重叠的情况,strcpy应该如何实现? 所谓的内存重叠,发生在src未处理的部分被dst覆盖的情况下——src<=dst<=src+strlen(src) C函数 阅读全文

posted @ 2017-07-08 16:50 sjqiu 阅读(221) 评论(0) 推荐(0) 编辑

导航