浏览 4958 次
锁定老帖子 主题:一个变态面试题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
作者 | 正文 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
发表时间:2012-06-02
有一个矩阵,矩阵中的数,从左到右,依次变大,无规律,从上到下依次变大,无规律,已知四个临界点的值,求一个数在矩阵中的可能位置. 如16的可能位置,(1,2)(1,3)..
注:我写的这个矩阵,第一行可能不对.条件是假设是一个符合条件的矩阵. 横轴x 竖轴y
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
返回顶楼 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
发表时间:2012-06-04
这是为了考察什么?
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
返回顶楼 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
发表时间:2012-06-04
应该是考察,数据结构-矩阵.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
返回顶楼 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
发表时间:2012-06-06
这个简单来说大致是这样(个人理解)
给出的4 个点: A... ... B ... ... C... ... D 以及需要查找的数F 有以下两种极限可能 A . F ... B F .. ... C ... ... D 和: A ... ... B ... ..F C ... .F. D 也就是说明这个需要查找的数的极限值主要是靠近A 和靠近D点。 确定这个就行了。 这样就能确定F点可能存在的区间段了。 这个还有一个条件就是 “从左到右,依次变大”和“从上到下依次变大” 要变大的话就必须是有数据的,所以最小的变化值是1。 都说到这了。也该知道了 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
返回顶楼 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
发表时间:2012-06-30
假设矩阵为 public static void main(String[] args){ search(2,10,10,20,6); } static void search(int a, int b, int c, int d, int self) { for (int x = 1; x <= b - a + 1; x++) { for (int y = 1; y <= d - c + 1; y++) { if (x + y + a -2 == self) { System.out.println("a:" + a + " b:" + b + " c:" + c + " d:" + d + " x:" + x + " y:" + y); } else { continue; } } } } |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
返回顶楼 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
发表时间:2012-06-30
不知道你看清楚意思没,不过你这个代码少计算了多少都不知道。。。
zuoshu 写道
假设矩阵为 public static void main(String[] args){ search(2,10,10,20,6); } static void search(int a, int b, int c, int d, int self) { for (int x = 1; x <= b - a + 1; x++) { for (int y = 1; y <= d - c + 1; y++) { if (x + y + a -2 == self) { System.out.println("a:" + a + " b:" + b + " c:" + c + " d:" + d + " x:" + x + " y:" + y); } else { continue; } } } }
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
返回顶楼 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
发表时间:2012-06-30
哦,需要改一下 if (x + y + a -2 == self) 改为
if (x + y + a -2 <= self) cttnbcj 写道
不知道你看清楚意思没,不过你这个代码少计算了多少都不知道。。。
zuoshu 写道
假设矩阵为 public static void main(String[] args){ search(2,10,10,20,6); } static void search(int a, int b, int c, int d, int self) { for (int x = 1; x <= b - a + 1; x++) { for (int y = 1; y <= d - c + 1; y++) { if (x + y + a -2 == self) { System.out.println("a:" + a + " b:" + b + " c:" + c + " d:" + d + " x:" + x + " y:" + y); } else { continue; } } } }
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
返回顶楼 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
发表时间:2012-07-04
啥叫“四个临界点”,临什么界的点?
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
返回顶楼 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||