自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 将数组中的所有零移到数组末尾-代码实例

电面Bloomberg被问到算法的一个问题:将数组中的所有零移到数组末尾。  当时给了一个naive algorithm: 遍历整个数组,Detect到0然后就将0移动到最末尾,然后不断将后面的数向前移动。这个方法可行,但依次移动数组内部的内容很费操作数,并且当数组中有很多0的时候,这个方法就特别的低效率。  在电面后想到,为什么不直接移动非0的数!  优化算法:遍历数组,初始化cou

2014-03-25 01:56:02 5245

原创 递归倒转string-代码实例

#include #include using namespace std;string reverse ( string s ){ //For no input of string if( s.size() == 0 ) return s; //The base case of the recursion if( s.size() == 1

2014-03-15 04:35:36 972

原创 ATOI函数-代码实例

#include #include using std::cout;using std::endl;int Atoi(char *);int main(){ int num0,num1,num2; //Testing Positive String char str[] = "12345"; num0 = Atoi(str); //Testi

2014-03-14 09:11:27 824

原创 反转链表遍历算法-代码实例讲解

反转链表有几种方法,在这先介绍一种时间复杂度为O(n)的遍历算法。  反转链表就是让所有节点的链接反向:本指向下一个节点的指针指向上一个节点。因此:我们首先想到初始化一个当前指针cur指向与head指向相同的节点,cur=head;然后初始化一个prev=NULL, 此时我们就想让cur所指向节点的指针指向prev;因此, cur->next=prev但是当cur->next=pr

2014-03-06 03:46:56 1164

原创 非递归中序遍历二叉树-代码实例讲解

中序遍历递归方法:将root作为参数传入前序遍历函数,然后调用中序遍历函数,以root的左子树作为参数传入;显示数据(比如前序遍历树输出树里的数据)调用中序遍历函数,以root的右子树作为参数传入;  而在非递归调用中序遍历二叉树中,利用栈的LIFO的特点。因为中序遍历从二叉树最左的节点开始遍历,然后其父节点,最后父节点的右子树。因此算法为:1.1.初始化当前指针cur指向

2014-03-04 14:07:59 1316

原创 非递归前序遍历二叉树-代码实例讲解

前序遍历树递归调用并不算难,将root作为参数传入前序遍历函数,然后显示数据(比如前序遍历树输出树里的数据);调用前序遍历函数,以root的左子树作为参数传入;调用前序遍历函数,以root的右子树作为参数传入;  而如果要求用非递归调用前序遍历树,就需要引入stack-堆的运用,其实在递归调用算法中,stack也是存在的,只是是没有直接申明,递归的数据都会暂时存在stack中,

2014-03-03 11:00:21 1109

原创 STL中adapters—stack的基本用法

例程调用了deque(stack默认underlying data structure),vector, list三个first class containers来描述adapter stack, 并对不同数据结构的stack进行了分别的基本操作。/* Tranverse postOrder binary tree pesudocodes */#include #include

2014-03-03 04:34:20 657

原创 在一个数组中找到最大的两个数

在一个给定数组中找出最大的两个数:算法:预设两个最大数int 来存储数组中两个最大的数,保证max1在遍历数组过程中相比max2,一直是最大的。在遍历过程中数组中的其他数只与max2比较,小于max2时,取代max2,再与max1比较,后来再确保max1始终比max2大。时间复杂度O(n),线性!/* Try to find the 2 maximum number in an a

2014-02-28 10:43:43 1866

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除