【美团外卖测试开发】算法面试题

原创 2018年04月17日 13:18:08
一个m行*n列的矩阵,
每行从左至右递增顺序排列,
每列从上至下递增顺序排列...

设计一个时间复杂度最低的算法,
在矩阵中查找某个值是否存在,如果存在,输出该元素在矩阵中的位置

示例图:


算法分析:

根据此矩阵元素的排列特性可知-》
从矩阵的右上角开始遍历,
取当前遍历到的元素的横坐标为i,纵坐标为j,当前值array[],需要查找的值为target

if array[i][j]=target ->输出i,j
if array[i][j]>target ->则需要往左移一位,即i--
if array[i][j]<target ->则需要往下移一位,即j++

查找退出条件: i<0 || j>=array[0].length

Java代码实现如下:

package algorithm.recursive;

import java.util.HashMap;
import java.util.Map;

public class Recursive {
	private int[][]_2DimArray;
	private Recursive(int[][]_2DimArray) {
		this._2DimArray = _2DimArray;
	}
	
	public static void main(String[] args) {
		int[][]_2DimArray = {{1,4,9},{3,5,10},{6,7,12}};
		for(int i=0;i<_2DimArray.length;i++) {
			for(int j=0;j<_2DimArray.length;j++) {
				System.out.println("solution C:"+positionFind(_2DimArray,_2DimArray[i][j]));
			}
			System.out.println();
		}
	}
	
	public static Map<Integer, Integer>positionFind(int[][]_2DimArray,int target){
		Map<Integer, Integer> xyMap = new HashMap<>();
		int i=_2DimArray.length-1,j=0;
		while(true) {
			if (_2DimArray[i][j]==target) {
				xyMap.put(i, j);
				break;
			}else if (_2DimArray[i][j]>target) {
				i--;
			}else {
				j++;
			}
			if (i<0||j>=_2DimArray.length) {
				break;
			}
		}
		return xyMap;
	}
}

【面经】美团外卖测试开发实习生面经

公司:美团外卖 应聘职位:测试开发 一面 1、用Java多还是C++多? 2、操作系统用过哪些? 3、Linux用的什么版本,在Linux下主要是编程比较多还是往里面布应用多? 4、在CentOS下怎...
  • pointer_y
  • pointer_y
  • 2017-04-09 22:14:25
  • 1375

面试总结2--美团测试面试

1面: 1、 自我介绍(奖学金、专利、在校获奖好像有加分)。 2、 介绍一个你认为最有含金量的项目? 3、 根据项目用到的知识:程序中TCP具体怎么实现?TCP和UDP区别、分别用在哪些场合? 答:T...
  • u012286517
  • u012286517
  • 2015-11-01 16:18:48
  • 3755

2017测试开发美团面试总结

  • 2017年09月25日 21:44
  • 126KB
  • 下载

2016校招秋招测试开发面试问题总结(360、滴滴、美团)

校招秋招360、滴滴、美团测试开发面经
  • zxx910509
  • zxx910509
  • 2017-03-03 21:52:13
  • 3507

【笔记】从架构到算法,详解美团外卖订单分配内部机制

美团旗下40万骑手,峰值配送1600万单,提高配送效率意义重大,因此美团推出了用于即时配送的「超级大脑」——O2O 即时配送智能调度系统。 系统需要解决两个问题:订单分配问题&骑手路径优化问题。 同时...
  • u013382288
  • u013382288
  • 2017-10-30 18:51:46
  • 1366

测试开发面试题汇总

  • 2017年11月12日 15:47
  • 25KB
  • 下载

【面试总结】美团测试实习生面试

面试时间是2点,我12点从学校出发,转了一次公交车,位置比较好找,感觉望京国际研发园高大上呀。等到1点40多,面试官来接我。哈,原来是校友,好开心,所以一面的时候没有那么紧张,面试官人很好,好相处友善...
  • kylCeline
  • kylCeline
  • 2015-12-16 11:38:45
  • 3310

从架构到算法,详解美团外卖订单分配内部机制

美团点评日前完成最新一轮融资,估值达到300亿美元。此轮融资后将会在人工智能、无人配送等前沿技术研发上加大投入。但我们并不是为技术而技术,事实上,人工智能技术已经在支撑着我们众多业务场景。以日订单量刚...
  • Uwr44UOuQcNsUQb60zk2
  • Uwr44UOuQcNsUQb60zk2
  • 2017-10-28 06:39:43
  • 1242

美团外卖前端实习生面试总结

面我的是一位帅锅哈哈,听声音感觉到的。。然后我就好开心呀。嘎嘎 然后就问了我1个小时的问题。ie和w3c事件取消默认事件不同。 我记得曾经写过一个兼容版小插件,这个片段代码如下 //阻止事件传递 ...
  • u014787301
  • u014787301
  • 2016-05-11 17:13:44
  • 2231

牛客网 美团测试开发笔试题 练习

1.已知一个ip地址为10.5.136.5,子网掩码为255.255.64.0,他的网络号和主机号分别是? 把ip地址和子网掩码转换成二进制,由子网掩码可知网络号和主机号有几位,连续全1的位数为网络号...
  • mibi0121
  • mibi0121
  • 2017-03-19 22:21:09
  • 1429
收藏助手
不良信息举报
您举报文章:【美团外卖测试开发】算法面试题
举报原因:
原因补充:

(最多只允许输入30个字)