摘要:
回文字符串,指一个字符串,从左到右和从右到左是完全一样的。判断一个字符串是否是回文,最简单的方式字符串头尾字符一一比较: 1 bool IsPalindromes(const char *pstr, int n) 2 { 3 int i=0, j=n-1; 4 while(i=j... 阅读全文
posted @ 2014-10-30 10:47
Tourun
阅读(537)
评论(0)
推荐(0)
|
摘要:
回文字符串,指一个字符串,从左到右和从右到左是完全一样的。判断一个字符串是否是回文,最简单的方式字符串头尾字符一一比较: 1 bool IsPalindromes(const char *pstr, int n) 2 { 3 int i=0, j=n-1; 4 while(i=j... 阅读全文
posted @ 2014-10-30 10:47
Tourun
阅读(537)
评论(0)
推荐(0)
摘要:
最大连续子序列之和问题描述为:数组中里有正数也有负数,连续的一个或多个整数组成一个子数组,每个子数组都有一个和,求所有子数组的和的最大值。分析,对数组a进行一遍扫描,sum[i] 为前i个元素中,包含第i个元素且和最大的连续子数组,MaxSum保存当前子数组中最大和,对于a[i+1]来说,sum... 阅读全文
posted @ 2014-10-30 01:01
Tourun
阅读(3938)
评论(1)
推荐(0)
摘要:
计数排序(Counting sort)是一种稳定的线性时间排序算法。计数排序使用一个额外的数组C,其中第i个元素是待排序数组A中值等于i的元素的个数。然后根据数组C来将A中的元素排到正确的位置。计数排序不是比较排序,排序的速度快于任何比较排序算法。由于用来计数的数组C的长度取决于待排序数组中数据... 阅读全文
posted @ 2014-10-28 17:43
Tourun
阅读(1296)
评论(0)
推荐(0)
摘要:
求素数的程序是笔试或面试中会经常被问到的题目,大四找工作面试时,就被一个面试官问到了,虽然写出的代码能够完成题目要求,但是面试官并不满意,原因当然在程序的效率上,面试官反复问及如何对原有程序进行优化,想了半天除了将偶数剔除,再无其他想法,这也导致最后投递的岗位从研发变成offer中的测试。 素... 阅读全文
posted @ 2014-10-28 11:21
Tourun
阅读(1745)
评论(2)
推荐(0)
摘要:
这个题目是在网上看到了,题目描述如下:有两个数组a,b,大小都为n,数组元素的值任意,无序。要求:通过交换a,b中的元素,使数组a元素的和与数组b元素的和之间的差最小。不知道是否真的出自华为,但题目难度很大,以我的水平8分钟确实无法写出完整的代码,查阅网上的牛人的思路,理解整理如下:对两个数字值... 阅读全文
posted @ 2014-10-27 23:33
Tourun
阅读(3542)
评论(4)
推荐(0)
摘要:
看到文章里的同学留言说到unique_ptr,这两天看了一下cplusplus提供的reference才知道这个东西是c++11的新特性,对c++11的新特性不是很了解,花时间了解了下unique_ptr,之前有写过auto_ptr的分析,这里就和auto_ptr对比下来看。unique_ptr... 阅读全文
posted @ 2014-10-25 09:29
Tourun
阅读(4058)
评论(2)
推荐(0)
摘要:
之前文章中实现的写时复制,句柄类中引用计数和T类型指针是分开的,这里换一种方式来处理,将引用计数和T类型指针视为一个整体,当做句柄类模板参数。先对上节中的引用计数进行改造:这个版本的UseCount和之前的版本差别很大,从析构函数可以看出(纯虚函数),它是基于引用计数来共享的值对象的基类,需要注... 阅读全文
posted @ 2014-10-22 17:47
Tourun
阅读(892)
评论(0)
推荐(0)
摘要:
之前文章提到写时复制(copy-on-write)技术,要实现这种功能,针对上文中Handle代码,需要将size_t * use这个抽象出来,封装成一个引用计数类,提供写时复制功能。CUseCount类实现如下: 1 class CUseCount 2 { 3 public: 4 ... 阅读全文
posted @ 2014-10-22 01:15
Tourun
阅读(1114)
评论(0)
推荐(1)
摘要:
句柄类/智能指针(smart point)是存储指向动态分配(堆)对象指针的类。除了能够在适当的时间自动删除指向的对象外,他们的工作机制很像C++的内置指针。句柄类实际上是通过复制指向引用计数器类型的指针,来代替复制实际对象;从而使得复制对象变成复制指针,实现虚拟复制(即是用复制对象的地址代替复... 阅读全文
posted @ 2014-10-21 15:38
Tourun
阅读(1011)
评论(0)
推荐(0)
摘要:
《More Effective C++》中讲到,在C++中真正的临时对象是看不见的,它们不出现在你的源代码中。建立一个没有命名的非堆(non-heap)对象会产生临时对象,这种未命名的对象通常在两种条件下产生:为了使函数成功调用而进行隐式类型转换和函数返回对象时。1 size_t countCh... 阅读全文
posted @ 2014-10-20 11:36
Tourun
阅读(544)
评论(0)
推荐(0)
|