随笔分类 -  编程之美

摘要:对于一个有N个元素的数组,a[0]~a[n-1],求子数组最大值。 如:数组A[] = [−2, 1, −3, 4, −1, 2, 1, −5, 4],则连续的子序列[4,−1,2,1]有最大的和6. 方法一:暴力 循环遍历,输出所有,判断最大的和 需要注意的是,数组可能全负{-1,-2,-3,-4 阅读全文
posted @ 2016-06-07 21:13 SeeKHit 阅读(253) 评论(0) 推荐(0)
摘要:题目: 给定一个长度为N的数组,只许用乘法,不许用除法,计算任意(N-1)个数的组合中乘积最大的一个组,并写出算法的时间复杂度。 如果把所可能的乘积找出来,共有(N-1)个数,n个n-1的数的组合,时间复杂度为O(N^2)。 解法一: 在一个数组中,以i为界限,分别计算i前面s[i-1]的积,后面t 阅读全文
posted @ 2016-02-29 15:20 SeeKHit 阅读(1245) 评论(0) 推荐(0)
摘要:题目: 对于一个数组,快速找出两个数字,让这两个数字的和等于一个给定的值,默认假设数组中肯定有至少一组符合要求。 数组a[]={5,6,1,4,7,8,9},sum=10. 解法一: 穷举,遍历数组中所有的2个数字,相加之和看是否等于给定的数字,时间复杂度为N(N-1)/2,既O(N^2),这种方法 阅读全文
posted @ 2016-02-18 16:54 SeeKHit 阅读(661) 评论(0) 推荐(0)
摘要:数组是最简单的一种线性数据结构,当得到一个数组,需要找出最大最小值的时候,通过什么样的方法可以高效的,找出最大最小值呢。对于一个N个整数组成的数组,需要比较多少次呢。 现在有一个N=8的数组{5,6,8,3,7,9,1,2}。 解法一: 将找最大和最小数看成2个独立的问题,分别求解,需要遍历数组2次 阅读全文
posted @ 2016-02-17 20:34 SeeKHit 阅读(606) 评论(0) 推荐(0)
摘要:题目: 亚洲微软研究院所在的希格玛大厦一共有6部电梯。在高峰时间,每层都有人上下,电梯每层都停。实习生小飞常常会被每层都停的电梯弄的很不耐烦,于是他提出了这样一个办法: 由于楼层并不算太高,那么在繁忙的上下班时间,每次电梯从一层往上走时,我们只允许电梯停在其中的某一层。所有乘客从一楼上电梯,到达... 阅读全文
posted @ 2016-01-09 16:56 SeeKHit 阅读(612) 评论(0) 推荐(0)
摘要:题目: 有很多服务器存储数据,假设一个机器仅存储一个标号为ID的记录,假设机器总量在10亿以下且ID是小于10亿的整数,假设每份数据保存两个备份,这样就有两个机器存储了同样的数据。问题是:1.假设在某个时间得到一个数据文件ID的列表,是否能快速地找出表中仅出现一次的ID?即快速找出出现故障的机器存... 阅读全文
posted @ 2016-01-07 21:58 SeeKHit 阅读(658) 评论(0) 推荐(0)
摘要:题目:下过中国象棋的朋友都知道,双方的“将”和“帅”相隔遥远,并且它们不能照面。在象棋残局中,许多高手能利用这一规则走出精妙的杀招。假设棋盘上只有“将”和“帅”二子(如图1-3 所示)(为了下面叙述方便,我们约定用 A 表示“将”,B 表示“帅”):A、 B 二子被限制在己方 3×3 的格子里运动。... 阅读全文
posted @ 2016-01-06 16:07 SeeKHit 阅读(469) 评论(0) 推荐(0)