程序员面试金典——番外篇之洪水

参考网址: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】程序员面试金典——番外篇之洪水相关推荐

  1. 程序员面试金典——番外篇之下一个较大元素II

    程序员面试金典--番外篇之下一个较大元素II Solution1:我的答案,时间复杂度为O(n2)O(n2)O(n^2) 垃圾算法 class NextElement { public:vector& ...

  2. 程序员面试金典——番外篇之下一个较大元素I

    程序员面试金典--番外篇之下一个较大元素I Solution1:我的答案,时间复杂度为O(n2)O(n2)O(n^2) 垃圾算法 class NextElement { public:vector&l ...

  3. 【重点】程序员面试金典——番外篇之数组中的逆序对

    程序员面试金典--番外篇之数组中的逆序对 此题曾多次遇到,然鹅还是本能的想起来复杂度为O(n2)O(n2)O(n^2)的笨蛋方法... Solution1:笨蛋方法 class AntiOrder { ...

  4. 程序员面试金典——番外篇之约瑟夫问题2

    程序员面试金典--番外篇之约瑟夫问题2 参考网址:https://www.nowcoder.com/profile/9270572/codeBookDetail?submissionId=157791 ...

  5. 程序员面试金典——番外篇之约瑟夫问题1

    程序员面试金典--番外篇之约瑟夫问题1 Solution1:我的答案.脑子是个好东西,希望我总是带着他~ 该算法模拟了游戏过程,不算好. 要理清逻辑关系,因果关系,再下笔~ class Joseph ...

  6. 程序员面试金典--笔记(精华篇)

    原文链接:http://codeshold.me/2017/01/cracking_interview.html <程序员面试金典> 1-7章的总结 相关读物<金领简历:敲开苹果.微 ...

  7. 《程序员面试金典》+《算法导论》

    <程序员面试金典>+<算法导论> 因为最近可能会面临一波面试,但是自己各种算法以及常见的问题的熟悉程度感觉还不够,但是由前几次的代码优化经验来看,算法优化可以说是代码优化的重中 ...

  8. 程序员面试金典--第k个数

    程序员面试金典--第k个数 题目描述 有一些数的素因子只有3.5.7,请设计一个算法,找出其中的第k个数. 给定一个数int k,请返回第k个数.保证k小于等于100. 测试样例: 3 返回:7 逐个 ...

  9. 程序员面试金典 - 面试题 08.13. 堆箱子(DP)

    1. 题目 堆箱子.给你一堆n个箱子,箱子宽 wi.深 di.高 hi. 箱子不能翻转,将箱子堆起来时,下面箱子的宽度.高度和深度必须大于上面的箱子. 实现一种方法,搭出最高的一堆箱子.箱堆的高度为每 ...

最新文章

  1. Python-EEG工具库MNE中文教程(14)-Epoch对象中的元数据(metadata)
  2. php 多人相册,精選五種 PHP 網路相簿總覽
  3. Proguard混淆代码(1)
  4. Python动态变量名定义与调用
  5. 利用 squid 反向代理提高网站性能
  6. spring cloud整合OpenFeign
  7. 前端 html border-right: 1px solid red;
  8. oracle 自定义 聚合函数
  9. 深入Java----集合----BitSet
  10. Kubernetes学习笔记之Calico Startup源码解析
  11. 对今天下午的工作内容的反思
  12. Redis学习笔记(四) 发布订阅命令
  13. python模拟浏览器下载文件_模拟浏览器下载文件?
  14. SMTP 发送内嵌图片 邮件
  15. “百度快照劫持”到底是什么意思?
  16. tf.expand_dims用法详解
  17. 简答实现登录注册(需要导入JQ库)
  18. Python调用高德地图API测距
  19. Linux 虚拟鼠标,键盘 之一。
  20. 【无标题】文档转成二维码添加到公众号文章(Word、Excel、PPT、PDF等)

热门文章

  1. 人工智能学习(二)安装tensorflow与pytorch
  2. java filter bme_节点红色,想截断BME280传感器的结果
  3. android多申请内存,Android内存等信息
  4. zabbix agent安装_zabbix agent的安装与配置
  5. 在线运行java代码并得到结果_Java代码是如何运行的?
  6. fileservice 类代码放哪里_一步步开发Windows服务(Windows Service)[转]
  7. pythonvi自动缩进_Vim如何配置Python的缩进?
  8. 计算器加减乘除优先级算法_计算器也算错数学?华为、苹果、小米内置计算器都算错了...
  9. java上下文_Java,gRPC和上下文传播(Java, gRPC and Context propagation)
  10. 南邮ctf mysql_南邮ctf知识点汇总 - Crypto篇