仅供记录

例题:二叉树的层序遍历

给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。

class Solution {public:vector<vector<int>> levelOrder(TreeNode* root) {vector<vector<int>>ans;if (root == NULL) {return ans;}queue<TreeNode*>q1;q1.emplace(root);while (!q1.empty()) {vector<int>cur_ans;int size = q1.size();for (int i = 0; i < size; i++) {TreeNode* cur_root = q1.front();q1.pop();cur_ans.push_back(cur_root->val);if (cur_root->left) {q1.emplace(cur_root->left);}if (cur_root->right) {q1.emplace(cur_root->right);}}ans.push_back(cur_ans);}return ans;}
};

286. 墙与门(有趣的一道题QAQ)

你被给定一个 m × n 的二维网格 rooms ,网格中有以下三种可能的初始化值:

-1 表示墙或是障碍物
0 表示一扇门
INF 无限表示一个空的房间。然后,我们用 231 - 1 = 2147483647 代表 INF。你可以认为通往门的距离总是小于 2147483647 的。
你要给每个空房间位上填上该房间到 最近门的距离 ,如果无法到达门,则填 INF 即可。

示例 1:

输入:rooms = [[2147483647,-1,0,2147483647],[2147483647,2147483647,2147483647,-1],[2147483647,-1,2147483647,-1],[0,-1,2147483647,2147483647]]
输出:[[3,-1,0,1],[2,2,1,-1],[1,-1,2,-1],[0,-1,3,4]]
示例 2:

输入:rooms = [[-1]]
输出:[[-1]]
示例 3:

输入:rooms = [[2147483647]]
输出:[[2147483647]]
示例 4:

输入:rooms = [[0]]
输出:[[0]]

提示:

m == rooms.length
n == rooms[i].length
1 <= m, n <= 250
rooms[i][j] 是 -1、0 或 231 - 1

 class Solution {private:const int DOOR = 0;const int WALL = -1;const int INF = 2147483647;int arround[4][2] = { {-1,0},{0,-1},{0,1},{1,0} };public:void wallsAndGates(vector<vector<int>>& rooms) {queue<pair<int, int>>door_queue;for (int i = 0; i < rooms.size(); i++) {for (int j = 0; j < rooms[i].size(); j++) {if (rooms[i][j] == DOOR) {door_queue.emplace(make_pair(i, j));}}}while (!door_queue.empty()) {int x = door_queue.front().first;int y = door_queue.front().second;door_queue.pop();for (int i = 0; i < 4; i++) {int cur_x = x + arround[i][0];int cur_y = y + arround[i][1];if (cur_x < 0 || cur_x >= rooms.size() || cur_y < 0 || cur_y >= rooms[0].size() || rooms[cur_x][cur_y] != INF) continue;rooms[cur_x][cur_y] = rooms[x][y] + 1;door_queue.emplace(make_pair(cur_x, cur_y));}}}};

Need Review相关推荐

  1. 如何在团队中做好Code Review

    一.Code Review的好处 想要做好Code Review,必须让参与的工程师充分认识到Code Review的好处 1.互相学习,彼此成就 无论是高手云集的架构师团队,还是以CURD为主的业务 ...

  2. git review devops过程

    自己搭建的devops环境是gitlab/gerrit/jenkins 1. 首先自己checkout一个自己的代码分支,一般不要在master上做直接修改 2. 修改后git add file,   ...

  3. Google是如何做Code Review的?| CSDN原力计划

    作者 | 帅昕 xindoo 编辑 | 屠敏 出品 | CSDN 博客 我和几个小伙伴一起翻译了Google前一段时间放出来的Google's Engineering Practices docume ...

  4. 刚进美团,就被各种Code Review,真的有必要吗?

    点击关注公众号,Java干货及时送达 众所周知,Code Review是开发过程中一个非常重要的环节,但是很多公司或者团队是没有这一环节的,今天笔者结合自己所在团队,浅谈Code Review的价值及 ...

  5. 刚入职,就被各种 Code Review,真的有必要吗?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:juejin.cn/post/ 6882333635 ...

  6. 有必要做 Code Review 吗???

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料!作者:梨香 链接:https://juejin.im/pos ...

  7. 你太菜了,竟然不知道Code Review...

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:宝玉   来源:http://1t.click/aA4h 我 ...

  8. 从零开始 Code Review,两年实战经验分享!

    点击上方"方志朋",选择"置顶公众号" 技术文章第一时间送达! 来源:http://t.cn/RtHE14S 前几天看了<Code Review 程序员的 ...

  9. 作为CTO,我为什么必须要求代码进行Code Review!

    来源:宝玉 链接:https://cnblogs.com/dotey/p/11216430.html 我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量, ...

  10. 万字详文告诉你如何做 Code Review

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|机器学习实验室 前言 作为公司代码委员会 golang 分 ...

最新文章

  1. 如何用xmanager远程连接centos6.0的桌面
  2. 宏基因组 微生物人注意了!这个微信群可以学英语,而且全程免费
  3. Chatter 导入
  4. 2.2 进阶-禁忌雷炎
  5. P2679-子串【dp】
  6. TCP/IP ---封装与分用
  7. linux 常用命令行 大全
  8. 数组小案例(求数组最大最小值、反转数组中元素、指定元素第一次出现的索引)
  9. github怎么切换到gitee_Github 如何和 Gitee 进行同步?
  10. 高通9008刷机,刷机参考
  11. 3-20模拟赛【果冻之王】题解
  12. 输入一个三位数,分别输出他的个位十位百位
  13. 敏捷计划是否基于功能,是否更好?
  14. vue项目之页面底部出现白边及空白区域错误记录
  15. cad打开卡死_cad文件不大,打开就卡死不动或打开异常慢的原因分析
  16. 3D游戏:三、空间与运动
  17. STM32-F407入门学习专题(九) STM32外设之ADC
  18. 刀片服务器如何选择操作系统,刀片服务器如何选择操作系统?
  19. C语言实现简易扫雷游戏
  20. 软考中级(软件设计师)——面向对象程序设计(C++Java二选一的题15分-目标3分)

热门文章

  1. 读书寄语:不经逆境,怎能见真情
  2. 什么是ARP(地址解析协议)?(Powercert animated videos)
  3. java生成exe打包工具exe4j
  4. vue中echarts调用接口_在vue2中使用echarts (Vue-ECharts插件)
  5. 2053 数组中第 K 个独一无二的字符串
  6. 如何用计算机放出音乐,怎么让手机上正在播放的音乐在电脑上播放(直接推送方法)?...
  7. input 子系统(调试 ili251x-tp)
  8. Win10系统下远程控制树莓派4b
  9. OpenCV-PyQT项目实战(5)项目案例01:图像模糊
  10. QCustomPlot的使用之四-响应鼠标移动和弹起事件