摘要: Q:一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。 A:如果我们遍历数组是对于每一个元素都要往左和往右判断是否符合条件,则时间复杂度为O(n^2)。既然可以用辅助数组,就可以利用空间换时间的办法进行优化。 原数组为a[n],定义一个辅助数组为b[n]。 首先我们求左边数都小于等于它... 阅读全文
posted @ 2012-06-20 14:51 Cavia 阅读(413) 评论(1) 推荐(0) 编辑
摘要: Q:12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种? A:假设12个人的身高为1,2,3,…,12,我们要将其分为两排,每排六个人,并且要符合题目所述规律,所以我们可以得出以下结论: a、第一排第一个数字只能为1,第一排第二个数字只能为2,3,第一排第三个数字只能为3,4,5,…,第一排第六个数字只能为6,7,8,9,10,11。... 阅读全文
posted @ 2012-06-20 09:41 Cavia 阅读(495) 评论(0) 推荐(0) 编辑