阅读 16753 次
发表时间:2011-08-14
的确、高中还专门有这个题的数学练习上
发表时间:2011-08-15
cttnbcj 写道
y13872888163 写道
cttnbcj 写道
ty_fzpb 写道
cttnbcj 写道
3*2 ,一共要走5步。
我可以设为 左3 + 上2
当我任意给定走方格子中向上2步格子时,然后必须任选向左3个格子=C(3,5)
应该就是LZ你要的答案。。。。 


正解
典型的插空法
对M*N格子     C(N-1,M+N-2)


幸亏这几天跟几个小中学弟弟学习了几天,很像他们教过我一道题:书架有N个空格,把书(分相同和不同情况)放入这些空格中,一共几张放法?
真奇怪现在公司的面试官都是穷逼吗?连小中学生的题目也要山寨过来。。。。。。。


小2再来几个娱乐贴吧

我要是多发了,码码们幼小的心灵,承受不了。。。。。。

做码码的第一要素就是小强般的承受能力,你这是间接培养他们,是在为祖国的未来添梁加挖,是..........(省略10000字)
发表时间:2011-08-15
yj10864 写道
一只蚂蚁要从一个4X3方格面上,从左下角走到右上角,规则是只能向右和向上且一次只能走一格,即不能向下或向左移动,
问题是给出一共有多少种走法,要列出计算公式或算法。

这只是第一问,
第二问是如果将4X3推广到N X M呢,结果是什么?写一段思路或伪代码算法

最后一问,如果不用计算机,有什么办法也能作出来???

ps:昨天中午吃完饭顺便面了一家,笔试这道题挺有意思的,一起来解一下!第一问自己数了下有10种走法,第二问还没有想出来。



一道简单的动态规划题。lz最后提供以下N X M中的N和M的取值范围。
发表时间:2011-08-15
phk070832 写道
yj10864 写道
一只蚂蚁要从一个4X3方格面上,从左下角走到右上角,规则是只能向右和向上且一次只能走一格,即不能向下或向左移动,
问题是给出一共有多少种走法,要列出计算公式或算法。

这只是第一问,
第二问是如果将4X3推广到N X M呢,结果是什么?写一段思路或伪代码算法

最后一问,如果不用计算机,有什么办法也能作出来???

ps:昨天中午吃完饭顺便面了一家,笔试这道题挺有意思的,一起来解一下!第一问自己数了下有10种走法,第二问还没有想出来。



一道简单的动态规划题。lz最后提供以下N X M中的N和M的取值范围。

N、M没有条件限制,可以视任意数
发表时间:2011-08-15
backshadow 写道
f(n,m)=f(n-1,m)+f(n,m-1)
用二维数组记录中间值,并且f(n,m)=f(m,n),减少递归次数

现在才发现 核心是 F(n, m)=F(n-1,m)+F(n,m-1);二楼很牛!
发表时间:2011-08-15
不需要代码,排列组合问题
以4×3为例,出发点离终点从横向上说差了4-1格,从竖向上说差了3-1格。
因此在4×3上面任何一条路线,无非都是需要走三步右,两步上,只是顺序不同而已,比如说有可能是“右上右右上”,也有可能是“右右上右上”
所以全部路线就是三个右字和两个上字的排列组合:
“右右右上上” 的全排列 = (3+2)!/(3!*2!) = 10

推广到M*N的情况就是 [(M-1) + N-1)]!/[(M-1)!*(N-1)!]
发表时间:2011-08-15
yj10864 写道
backshadow 写道
f(n,m)=f(n-1,m)+f(n,m-1)
用二维数组记录中间值,并且f(n,m)=f(m,n),减少递归次数

现在才发现 核心是 F(n, m)=F(n-1,m)+F(n,m-1);二楼很牛!

哪里哪里,javaeye平凡的一员而已,楼上的们除了咱俩,才都是牛人
发表时间:2011-08-17
引用

不需要代码,排列组合问题
以4×3为例,出发点离终点从横向上说差了4-1格,从竖向上说差了3-1格。
因此在4×3上面任何一条路线,无非都是需要走三步右,两步上,只是顺序不同而已,比如说有可能是“右上右右上”,也有可能是“右右上右上”
所以全部路线就是三个右字和两个上字的排列组合:
“右右右上上” 的全排列 = (3+2)!/(3!*2!) = 10

推广到M*N的情况就是 [(M-1) + N-1)]!/[(M-1)!*(N-1)!]

这个正解
发表时间:2011-08-24
liujunhg 写道
引用

不需要代码,排列组合问题
以4×3为例,出发点离终点从横向上说差了4-1格,从竖向上说差了3-1格。
因此在4×3上面任何一条路线,无非都是需要走三步右,两步上,只是顺序不同而已,比如说有可能是“右上右右上”,也有可能是“右右上右上”
所以全部路线就是三个右字和两个上字的排列组合:
“右右右上上” 的全排列 = (3+2)!/(3!*2!) = 10

推广到M*N的情况就是 [(M-1) + N-1)]!/[(M-1)!*(N-1)!]

这个正解

+
发表时间:2011-08-24
public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int sum = 1;
		int x = Integer.parseInt(args[0]);
		int y = Integer.parseInt(args[1]);
		String[][] a = new String[x][y];
		System.out.println(checkLine(a,0,0,sum));
	}

	public static int checkLine(String[][] a,int x,int y,int sum){
		try{
			a[x][y+1] = a[x+1][y];
		}catch(Exception e){
			return sum;
		}
		sum++;
		sum = checkLine(a,x,y+1,sum);
		sum = checkLine(a,x+1,y,sum);
		return sum;
		
	}
}
Global site tag (gtag.js) - Google Analytics