面试算法题
文章平均质量分 70
wy_kath
这个作者很懒,什么都没留下…
展开
-
求连续子数组的最大和
题意:一个整型数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和,求所有子数组的和的最大值,要求时间复杂度为O(n)。 例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,那么最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。思考: 该题值得注意的有两点,其一,时间复杂度要求是O(n),否则直原创 2013-05-24 20:03:06 · 719 阅读 · 0 评论 -
快速排序算法
快速排序的基本思想:快速排序又称为分区交换排序,是目前以知的平均速度最快的一种排序方法,采用一种分治的策略,是对冒泡排序的一种改进。其基本思想是:在待排序文件的记录中任取其中一个记录,通常选取第一个记录。以该记录的关键字为分界点(pivot),经过一趟排序后,将全部记录分为两部分:所有比分界点小的记录都存放在分界点之前,所有比分界点大的记录都排在分界点之后,然后再分别对这两个部分重复上述过程,直到原创 2013-05-26 23:51:09 · 840 阅读 · 0 评论 -
求1-n中数字1出现的次数
【编程之美】给定一个十进制正整数N,求出从1开始,到N的所有整数,数字1出现的次数。 例如,N=2,则两个数为1,2 。数字1出现的个数是1.又如n = 20.则20个数中1出现的为:1,10,11,12,13,14,。。。19 共有12个。设计一个算法,可以高效地求出1-N之间出现的1的个数。(主要考虑效率)。 分析:对于一个数abcde,出现1的次数可以通过计算各位中出原创 2013-05-25 23:01:04 · 1258 阅读 · 1 评论 -
字符串全排列和组合算法
一、全排列的递归实现为方便起见,用123来示例下。123的全排列有123、132、213、231、312、321这六种。首先考虑213和321这二个数是如何得出的。显然这二个都是123中的1与后面两数交换得到的。然后可以将123的第二个数和每三个数交换得到132。同理可以根据213和321来得231和312。因此可以知道——全排列就是从第一个数字起每个数分别与它后面的数字交换。找到这个规律原创 2012-12-02 13:52:47 · 776 阅读 · 0 评论 -
字符串转整数
在做网络互连的实验室的时候,无意中在pongo在线编程上看到得,被坑了,第一次交上去错了,没有判断int的范围,int的范围是-2147483648~2147483647,按照题目要求,转成整型后若结果大于2147483647,则输出2147483647;若结果小于-2147483648,则输出-2147483648.交错一次之后,就不能再提交了,所以不知道结果正确与否,先写在这,回去了再仔细研究原创 2013-05-29 16:03:23 · 825 阅读 · 0 评论 -
归并排序
#include #include #define MAXN 10void Merge(int array[],int start,int mid,int end){ int arra[MAXN]; int arrb[MAXN]; int lena = mid-start+1; int lenb = end-mid; int i,j,k;原创 2013-09-18 02:10:06 · 752 阅读 · 0 评论 -
堆排序
#includeusing namespace std;void HeapBottomUp(int arr[], const int size) { //使用自底向上算法,维护一个堆 for (int j = size - 1; j > 0; --j) { int parent = j / 2; i原创 2013-09-18 00:35:37 · 781 阅读 · 0 评论 -
简单排序
#include void SelectionSort(int * array,int n) //选择排序{ int i,j; for(i=0;i<=n-2;i++) { for(j=i+1;j<=n-1;j++) { if(array[i]>array[j]) {原创 2013-09-17 23:23:03 · 670 阅读 · 0 评论 -
二叉树的前序、中序、后序遍历(非递归)
今天弄了一天的二叉树的前序、中序和后序遍历,分享出来,共同交流。 代码中采用先序遍历的方法创建二叉树,示例创建二叉树格式如下:创建过程中,以表示空节点。代码:#include #include typedef struct BTNode{ char data; struct BTNode *left; struct BTNod原创 2013-09-18 22:39:48 · 1068 阅读 · 0 评论