首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

三个题目求解答(算法),该如何解决

2012-02-24 
三个题目求解答(算法)1 一个有序数组,如何从中找出几个数使其和等于N,若没有则返回无解2 有3个跑道,找出一

三个题目求解答(算法)
1 一个有序数组,如何从中找出几个数使其和等于N,若没有则返回无解

2 有3个跑道,找出一算法对N匹马快慢排序,比如跑完一次可以排3匹马快慢,但不知道速度值

3 大富翁游戏,在第N步有个炸弹,从起始位置开始出发,中炸弹的概率

[解决办法]

1. 数的个数不定的话,一般还是用背包吧。 复杂度为 O(数的个数*N)

2. 用快排的思路,选取一匹马为分界点,慢的放前面、快的放后面,之后就将马分成两部分,然后分别对这两部分进行排序。期望复杂度 NlogN 。

3. 有环的话 思路就是列方程,然后求解了。 没有环的话 直接就能算了


[解决办法]
1. 背包問題.
2. 快排可以有.
3. F(n)=(F(n-1)+F(n-2)+F(n-3)+F(n-4)+F(n-5)+F(n-6))/6 n>0
= 1 n=0
= 0 n<1
[解决办法]
1.如果N<最小数,无解,否则,求子集问题。
2.一个跑道上的马固定。另外两个轮流换,直至这匹马与所有的马赛完,就分成两个阵营。然后对每个阵营用相同的方法。
3.不知道大富翁。

热点排行