阅读 25584 次
发表时间:2011-12-14
这帖子的标题怎么和我写过的一个帖子一样呀

我原来的帖子http://ligaosong.iteye.com/blog/970240 求真相
发表时间:2011-12-14
backshadow 写道
jkxydp 写道
青蛙跳的那个第一个是2的n次方种,后一个是n的n次方种。不晓得是不是哈,如果是的话,我觉得出题的人脑残不晓得大家有木意见。

如果不是,,,?

发表时间:2011-12-14
jkxydp 写道
青蛙跳的那个第一个是2的n次方种,后一个是n的n次方种。不晓得是不是哈,如果是的话,我觉得出题的人脑残不晓得大家有木意见。


真是见识到什么是 无知者无畏。你确定你不是脑残?
发表时间:2011-12-14
哦!我也来看看!
发表时间:2011-12-14
我是Aser,用的是as语法,相信java应该看得懂

var arr:Array = [ [1, 2, 8, 10], [2], [4, 7], [6, 8, 11, 15] ];

function test(arr:Array, num:int):Array
{
	var row:int = arr.length;
	var col:int = arr[0].length;
	
	for (var i:int = 0; i < row; i++)
	{
		for (var j:int = 0; j < col; j++)
		{
            if(j + 1 > arr[i].length)
	        {
				break; //缩小列的查找范围后,col可能超过了该行的长度,超过了就继续下一行
		    }

            trace(arr[i][j]); // 输出比对的数

			if (arr[i][j] == num)
			{
				return [i , j]; // 找到该数,返回他的索引位置
			}
			else if (arr[i][j] > num)
			{
				if(j == 0) 
				{
					return null; // 某行第一个数就比他大,就不用在往下找了
				}
				else
				{
					col = j; // 某列比他大,则缩小列的查找范围
					break; // 继续下一行
				}
			}
		}
	}
	return null;
}
trace(test(arr, 7));


当然也可以外循环从列开始,然后缩小行的查找范围
发表时间:2011-12-14
既然他们没兴趣,就把书给了老衲吧。
发表时间:2011-12-15
恶心的面试题就是这样出现的...表示现实的无奈!
发表时间:2011-12-15
yangguo 写道
jkxydp 写道
青蛙跳的那个第一个是2的n次方种,后一个是n的n次方种。不晓得是不是哈,如果是的话,我觉得出题的人脑残不晓得大家有木意见。


真是见识到什么是 无知者无畏。你确定你不是脑残?


最多跳两阶的 应该是 斐波那契数列吧  f(n)=f(n-1)+f(n-2) 已知f(1)=1,f(2)=2
最多跳三阶的 就是f(n)=f(n-1)+f(n-2)+f(n-3) 已知 f(1),f(2),f(3)

是不是可以类推 到最多跳K阶(K<=N)时,就应该是 f(n)=f(n-1)+f(n-2)+···+f(n-k)

可是这要已知 前k个值,这样,k在3以内还是很好算的,可是 k很大的话,该怎么算?!又该是什么解法
发表时间:2011-12-15
神之小丑 写道
yangguo 写道
jkxydp 写道
青蛙跳的那个第一个是2的n次方种,后一个是n的n次方种。不晓得是不是哈,如果是的话,我觉得出题的人脑残不晓得大家有木意见。


真是见识到什么是 无知者无畏。你确定你不是脑残?


最多跳两阶的 应该是 斐波那契数列吧  f(n)=f(n-1)+f(n-2) 已知f(1)=1,f(2)=2
最多跳三阶的 就是f(n)=f(n-1)+f(n-2)+f(n-3) 已知 f(1),f(2),f(3)

是不是可以类推 到最多跳K阶(K<=N)时,就应该是 f(n)=f(n-1)+f(n-2)+···+f(n-k)

可是这要已知 前k个值,这样,k在3以内还是很好算的,可是 k很大的话,该怎么算?!又该是什么解法

建立缓存表,缓存f(1...n)的结果
发表时间:2011-12-15
神之小丑 写道
yangguo 写道
jkxydp 写道
青蛙跳的那个第一个是2的n次方种,后一个是n的n次方种。不晓得是不是哈,如果是的话,我觉得出题的人脑残不晓得大家有木意见。


真是见识到什么是 无知者无畏。你确定你不是脑残?


最多跳两阶的 应该是 斐波那契数列吧  f(n)=f(n-1)+f(n-2) 已知f(1)=1,f(2)=2
最多跳三阶的 就是f(n)=f(n-1)+f(n-2)+f(n-3) 已知 f(1),f(2),f(3)

是不是可以类推 到最多跳K阶(K<=N)时,就应该是 f(n)=f(n-1)+f(n-2)+···+f(n-k)

可是这要已知 前k个值,这样,k在3以内还是很好算的,可是 k很大的话,该怎么算?!又该是什么解法



递归或动态规划。
Global site tag (gtag.js) - Google Analytics