【To Understand】程序员面试金典——番外篇之洪水
程序员面试金典——番外篇之洪水
参考网址:https://www.nowcoder.com/profile/1917743/codeBookDetail?submissionId=12679910
Solution1:投机取巧法
果然,在test case十分有限的情况下,投机取巧也很容易成功啊~
class Flood {
public:int floodFill(vector<vector<int> > map, int n, int m) {// write code herereturn m + n - 2;}
};
Solution2:
四个方向遍历搜索,用队列来实现四个方向的迭代搜索。
class Flood {
public:int floodFill(vector<vector<int> > map, int n, int m) {// write code hereif(n == 0||m == 0|| map[0][0]) return 0;queue<int> qRecord;int direction[4][2]={{0,1},{1,0},{0,-1},{-1,0}};int x,y,next_x,next_y;int point;int k;qRecord.push(0);while(!qRecord.empty()){point = qRecord.front();qRecord.pop();x = point/m;y = point%m;if((x+1) == n && (y+1) == m){return map[n-1][m-1];}for(k=0;k<4;k++){next_x = x + direction[k][0];next_y = y + direction[k][1];if(next_x>=0 && next_x<n && next_y>=0 && next_y<m && map[next_x][next_y] == 0){qRecord.push(next_x*m+next_y);map[next_x][next_y] = map[x][y] + 1;}}}return map[n-1][m-1];}
};
【To Understand】程序员面试金典——番外篇之洪水相关推荐
- 程序员面试金典——番外篇之下一个较大元素II
程序员面试金典--番外篇之下一个较大元素II Solution1:我的答案,时间复杂度为O(n2)O(n2)O(n^2) 垃圾算法 class NextElement { public:vector& ...
- 程序员面试金典——番外篇之下一个较大元素I
程序员面试金典--番外篇之下一个较大元素I Solution1:我的答案,时间复杂度为O(n2)O(n2)O(n^2) 垃圾算法 class NextElement { public:vector&l ...
- 【重点】程序员面试金典——番外篇之数组中的逆序对
程序员面试金典--番外篇之数组中的逆序对 此题曾多次遇到,然鹅还是本能的想起来复杂度为O(n2)O(n2)O(n^2)的笨蛋方法... Solution1:笨蛋方法 class AntiOrder { ...
- 程序员面试金典——番外篇之约瑟夫问题2
程序员面试金典--番外篇之约瑟夫问题2 参考网址:https://www.nowcoder.com/profile/9270572/codeBookDetail?submissionId=157791 ...
- 程序员面试金典——番外篇之约瑟夫问题1
程序员面试金典--番外篇之约瑟夫问题1 Solution1:我的答案.脑子是个好东西,希望我总是带着他~ 该算法模拟了游戏过程,不算好. 要理清逻辑关系,因果关系,再下笔~ class Joseph ...
- 程序员面试金典--笔记(精华篇)
原文链接:http://codeshold.me/2017/01/cracking_interview.html <程序员面试金典> 1-7章的总结 相关读物<金领简历:敲开苹果.微 ...
- 《程序员面试金典》+《算法导论》
<程序员面试金典>+<算法导论> 因为最近可能会面临一波面试,但是自己各种算法以及常见的问题的熟悉程度感觉还不够,但是由前几次的代码优化经验来看,算法优化可以说是代码优化的重中 ...
- 程序员面试金典--第k个数
程序员面试金典--第k个数 题目描述 有一些数的素因子只有3.5.7,请设计一个算法,找出其中的第k个数. 给定一个数int k,请返回第k个数.保证k小于等于100. 测试样例: 3 返回:7 逐个 ...
- 程序员面试金典 - 面试题 08.13. 堆箱子(DP)
1. 题目 堆箱子.给你一堆n个箱子,箱子宽 wi.深 di.高 hi. 箱子不能翻转,将箱子堆起来时,下面箱子的宽度.高度和深度必须大于上面的箱子. 实现一种方法,搭出最高的一堆箱子.箱堆的高度为每 ...
最新文章
- Python-EEG工具库MNE中文教程(14)-Epoch对象中的元数据(metadata)
- php 多人相册,精選五種 PHP 網路相簿總覽
- Proguard混淆代码(1)
- Python动态变量名定义与调用
- 利用 squid 反向代理提高网站性能
- spring cloud整合OpenFeign
- 前端 html border-right: 1px solid red;
- oracle 自定义 聚合函数
- 深入Java----集合----BitSet
- Kubernetes学习笔记之Calico Startup源码解析
- 对今天下午的工作内容的反思
- Redis学习笔记(四) 发布订阅命令
- python模拟浏览器下载文件_模拟浏览器下载文件?
- SMTP 发送内嵌图片 邮件
- “百度快照劫持”到底是什么意思?
- tf.expand_dims用法详解
- 简答实现登录注册(需要导入JQ库)
- Python调用高德地图API测距
- Linux 虚拟鼠标,键盘 之一。
- 【无标题】文档转成二维码添加到公众号文章(Word、Excel、PPT、PDF等)
热门文章
- 人工智能学习(二)安装tensorflow与pytorch
- java filter bme_节点红色,想截断BME280传感器的结果
- android多申请内存,Android内存等信息
- zabbix agent安装_zabbix agent的安装与配置
- 在线运行java代码并得到结果_Java代码是如何运行的?
- fileservice 类代码放哪里_一步步开发Windows服务(Windows Service)[转]
- pythonvi自动缩进_Vim如何配置Python的缩进?
- 计算器加减乘除优先级算法_计算器也算错数学?华为、苹果、小米内置计算器都算错了...
- java上下文_Java,gRPC和上下文传播(Java, gRPC and Context propagation)
- 南邮ctf mysql_南邮ctf知识点汇总 - Crypto篇