算法强化训练
文章平均质量分 75
个人对一些常见的算法题的总结
GeekLiudream
成为一个快乐的IT男,门外汉+菜鸟的提升之路
展开
-
积跬步至千里——算法强化训练(9)重写标准库函数
strstr strchr strcpy memmove memcpy strcat atoi原创 2015-06-15 15:38:49 · 541 阅读 · 0 评论 -
积跬步至千里——算法强化训练(8)卡特兰数相关题目求解
卡特兰数:原创 2015-06-01 10:37:40 · 1027 阅读 · 0 评论 -
积跬步至千里——算法强化训练(7)大数问题
大数问题:当感觉用long或int已经不能满足要求,需要考虑大数问题。大数问题将普通的数学运算,转移到字符串上的操作。大数操作有很多写法,但是我习惯用以下这个模板,因为对加法 乘法 减法都是一个路子,便于记忆和理解。 大数乘法: string Multi(string str1, string str2) { int len1 = str1.length(); int len2原创 2015-05-26 15:35:24 · 690 阅读 · 0 评论 -
积跬步至千里——算法强化训练(6)利用基数排序解决O(n)问题
基数排序: 基数排序(radix sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或bin sort,顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O (nlog(r)m),其中r为所采取的基数,而m为堆数——百度百科 举个简单的例子: 第一步原创 2015-05-23 14:21:57 · 736 阅读 · 0 评论 -
积跬步至千里——算法强化训练(5)关于类的几个操作
1、类的赋值函数 class CMyString { public: CMyString(char * pData=NULL); CMyString(const CMyString &str); ~CMyString(); private: char* m_pData; }; 一般解法: CMyString & CMyString::operator =(const CMyStrin原创 2015-05-18 08:46:13 · 620 阅读 · 0 评论 -
积跬步至千里——算法强化训练(4)位操作的几个实例
1.利用位运算统计二进制中1的个数 int NumberOfOne(int n) { int cnt = 0; for (;n>0;n=n>>1) if(n & 0x1) cnt++; return cnt; } int NumberOfOne2(int n) { int cnt = 0; while (n) { cnt++; n = n & (n-1); } r原创 2015-05-16 20:58:24 · 611 阅读 · 0 评论 -
积跬步至千里——算法强化训练(3)数组装水
此题题目原图来自leetcode上的trapping Rain Water 思路,先思考什么地方能装水:假如以左边第一个为基准,那只有比基准矮的才能蓄水,如何选择基准?因为是中间装水,木桶原理,最矮的是装水的基准线。所以从两边开始,每次选择较矮的为基准,只有比基准矮的装水,否则就要重新选择基准。 #include #include using namespace std; int原创 2015-05-16 19:54:27 · 818 阅读 · 0 评论 -
积跬步至千里——算法强化训练(2)全排列和组合数
全排列 1.有时候需要对一个序列的各种排列进行处理的时候,可以先将序列排序sort(beg,end); 然后do{ }while(!next_permutation)这里用的是标准库的函数; 2.全排列的递归算法: #include #include #include using namespace std; void Permutation(vector &data,原创 2015-05-14 14:38:14 · 580 阅读 · 0 评论 -
积跬步至千里——算法强化训练(1)统计数组中的逆序对
1、最简单的方法是暴力,对于每一个数都依次和后面的进行比较。 #include #include using namespace std; int InverseParis(vector &data) { size_t num = data.size(); int count = 0; for (size_t i = 0; i < num; ++i) { for (size_t原创 2015-05-14 09:24:49 · 526 阅读 · 0 评论