[美团]拜访
来源:互联网 发布:nginx和apache的关系 编辑:程序博客网 时间:2024/04/27 22:52
题目描述
现在有一个城市销售经理,需要从公司出发,去拜访市内的商家,已知他的位置以及商家的位置,但是由于城市道路交通的原因,他只能在左右中选择一个方向,在上下中选择一个方向,现在问他有多少种方案到达商家地址。
给定一个地图map及它的长宽n和m,其中1代表经理位置,2代表商家位置,-1代表不能经过的地区,0代表可以经过的地区,请返回方案数,保证一定存在合法路径。保证矩阵的长宽都小于等于10。
测试样例:
[[0,1,0],[2,0,0]],2,3
返回:2
注意,后来才发现对这种不适用,但是牛客测试用例没有这种情况:
2 0 0
0 0 -1
0 0 1
solution那里应该初始化为:
1 1 0 1 1 1
1 1 0 而不是 1 1 0
1 1 1 1 1 1
class Visit {public:int countPath(vector<vector<int> > map, int n, int m) {int res = 0;int r_man = 0, c_man = 0;int r_bus = 0, c_bus = 0;vector<int> tmp_row(m, 1);vector<vector<int> > solution(n, tmp_row);int neighr = 0, neighc = 0;//先定位经理和商家的位置for (int i = 0; i<n; i++){for (int j = 0; j<m; j++){if (map[i][j] == 1){r_man = i;c_man = j;}if (map[i][j] == 2){r_bus = i;c_bus = j;}if (map[i][j] == -1)solution[i][j] = 0;}} //确定搜索的方向if (r_man == r_bus || c_man == c_bus)return 1; neighr=r_man<r_bus?-1:1;neighc=c_man<c_bus?-1:1; //动态规划for (int i = r_man - neighr; r_man<r_bus ? i <= r_bus : i >= r_bus; i -= neighr){for (int j = c_man - neighc; c_man<c_bus ? j <= c_bus : j >= c_bus; j -= neighc){solution[i][j] = solution[i + neighr][j] + solution[i][j + neighc];}}res = solution[r_bus][c_bus];return res;}};
1 0
- 美团 拜访
- [美团]拜访
- 美团-拜访-Java
- 美团笔试题:拜访
- 动态规划-美团笔试题-拜访
- 拜访-美团校招原题
- 美团校招 拜访
- 拜访(动态规划)----美团2016研发工程师在线编程题
- 拜访
- 拜访
- 拜访
- 拜访
- 拜访
- 拜访
- 再次拜访
- 拜访李嘉诚
- 客户拜访
- 牛客 拜访
- 自问自答
- (五)禁用启用提供者
- Flume<自定义Source和拦截器实现抓取异常多行日志>
- Python 3基础教程21-列表和元组
- Python中re(正则表达式)模块学习
- [美团]拜访
- 侧边栏索引
- Problem B: 类的初体验(IV)
- vlayout使用说明(二)
- 详解mysql-5.7.17-winx64免安装版参数配置
- nRF52832 — 微信移植(官方例子移植到SDK12.2.0)
- Android--小知识点
- 常见grub分辨率过低问题以及修改grub界面颜色
- Java面试笔试题大汇总(最全+详细答案)