摘要:
问题描述:给出一个升序排列好的整数数组,找出2个数,它们的和等于目标数。返回这两个数的下标(从1开始),其中第1个下标比第2个下标小。 Input: numbers={2, 7, 11, 15}, target=9Output: index1=1, index2=2 分析:在排序好的数组中进行查找, 阅读全文
摘要:
在实现set_union算法时调用了自己写的copy算法,出现了以下问题。 Error 1 error C2665: 'xyz_stl::__copy' : none of the 2 overloads could convert all the argument types 即“__copy的2 阅读全文
摘要:
问题描述:给出一个整数数组,除了一个元素外,其他每个元素都出现了2次,找出只出现1次的元素。 int singleNumber(vector<int>& nums); 分析:比较自然的想法是用一个容器来进行插入、查找、删除操作。遍历nums,先查找容器中是否包含该元素,是则插入,否则删除。最后容器中 阅读全文
摘要:
问题描述:不使用+是或-操作符进行整数的加法运算 int getSum(int a, int b); 我的思路:把整数化成二进制进行运算,注意类型是int,也就是要考虑负数。关于负数的二进制表示可见之前的一篇博文 C语言的补码表示和unsigned及signed的转换 对于负数,我采用转换成正数(u 阅读全文
摘要:
问题描述:给出一个非负整数num,对[0, num]范围内每个数都计算它的二进制表示中1的个数 Example:For num = 5 you should return [0,1,1,2,1,2] 思路:该题属于找规律题,令i从0开始,设f(i)为i对应二进制表示中1的个数,写几对对应值就出来了。 阅读全文
摘要:
有了点模板元编程的traits基础,看STL源码清晰多了,以前看源码的时候总被各种各样的typedef给折腾得看不下去, 将<list>头文件的类继承结构简化如下 举个例子,看看list<int>这个实例化会产生什么效果,从下往上看。 _Ty被替换成int,_Alloc默认被替换成allocator 阅读全文
摘要:
不去继续深究模板元编程了,自己经常犯这毛病,好高骛远没有脚踏实地,研究些高手有闲情时去研究的东西,反倒是自己的正业都没顾着。即使能跟高手谈笑风生,自己其实连菜鸟都不如。 打个比方,小学时候有附加题的数学考试,即使附加题能做满分,前面100分不及格也是枉然。虽然前面都及不了格肯定附加题也做不会,但是编 阅读全文
摘要:
前言:毕设时在开源库上做的程序,但是源码看得很晕(当时导师告诉我这是模板元编程,可以不用太在乎),最近自己造轮子时想学习STL的源码,但也是一样的感觉,大致了解他这么做要干什么,但是不知道里面的机制。于是开始学习《C++模板元编程》,看完第二章对一些东西豁然开朗。 PS:该书也有点老了,C++11标 阅读全文
摘要:
数据结构还是很早之前学的了,当时才刚学过C语言,实现得都很简单,最近决定重新打牢基础,于是重新开始实现书上的数据结构和算法。 模仿C++ Primer的StrVec以及std::vector,使用模板类+allocater分配内存,遵循“三/五原则”,期间遇到了几个小问题,记录下。 1、unsign 阅读全文
摘要:
http://www.cnblogs.com/Solstice/archive/2011/07/17/2108715.html 看了这篇博客有感而发。 就个人而言我是典型的从C到C++的类型,并且逐渐去掉C风格,用C++风格代替,所以几乎不用FILE*读写。 iostream一个显著的优点是流运算符 阅读全文