院版每日一题(1) 快速寻找满足条件的两个数
摘要:
能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解。 假如有如下的两个数组: 5,6,1,4,7,9,8 给定Sum= 10 1,5,6,7,8,9 给定Sum= 10学长整理大答案(厉害死了)解法一 一个直接的解法就是穷举:从数组中任意取出两个数字,计算两者之和是否为给定的数字。 显然其时间复杂度为N(n-1)/2即O(N^2)。这个算法很简单,写起来也很容易,但是效率不高。一般在程序设计里面,要尽可能降低算法的时间和空间复杂度,所以需要继续寻找效率更高的解法。 解法二 求两个数字之和,假设给定的... 阅读全文
posted @ 2012-05-22 12:41 CrackerStudio 阅读(162) 评论(0) 推荐(0)
浙公网安备 33010602011771号