题目

抖音电影票业务支持电影院选座,需要在用户买票时自动推荐座位,如果一个用户买了多张票,则需要推荐相邻(上下相邻、左右相邻都可)的座位。现在使用一个二维数组来表示电影院的座位,数组中 0 表示未被选座,1 表示已被选座或者为障碍物,请实现一个方法求出给定影院中最大可推荐的相邻座位个数。

示例

输入:

[1,0,0,1,0,0,0]

[1,0,0,0,0,1,1]

[0,0,0,1,0,0,0]

[1,1,0,1,1,0,0]

输出:18

public class Main {public static void main(String[] args) {Main main = new Main();int sum = 0;int result = 0;int[][] nums = new int[][]{ {1, 0, 0, 1, 0, 0, 0},{1, 0, 0, 0, 0, 1, 1},{0, 0, 0, 1, 0, 0, 0},{1, 1, 0, 1, 1, 0, 0}};for (int i = 0; i < nums.length; i++) {for (int j = 0; j < nums[i].length; j++) {if (nums[i][j] == 0) {result = main.dfs(nums, i, j);sum += result;}}}System.out.println(sum);}int dfs(int[][] nums, int a, int b) {if (!isLegal(nums, a, b)) return 0;if (nums[a][b] == 1) return 0;nums[a][b] = 1;return  1 + dfs(nums, a - 1, b)+ dfs(nums, a + 1, b)+ dfs(nums, a, b - 1)+ dfs(nums, a, b + 1);}boolean isLegal(int[][] nums, int a, int b) {return a >= 0 && b >= 0 && a < nums.length && b < nums[0].length;}
}
//感谢nettee大佬

电影票业务-字节青训营相关推荐

  1. 字节青训营第三课之高质量编程与性能调优实战的笔记和总结

    这是字节青训营第三课:高质量编程与性能调优实战的笔记和总结 概要 准备 尝试使用 test 命令,编写并运行简单测试 尝试使用 -bench参数,对函数进行性能测试 推荐阅读Go代码Review建议. ...

  2. 三个小项目入门Go语言|字节青训营笔记

    前言 这是青训营的第一课,今天的课程比较快速的讲解了go语言的入门,并配合三个小的项目实践梳理所学知识点,这里详细回顾一下这三个项目,结合课后作业要求做一些代码补充,并附上自己的分析,青训期间的所有课 ...

  3. 字节青训营抖音APP

    You just work hard, the rest is up to time GitHub地址:https://github.com/xiaodainiao/TikTokLite TikTok ...

  4. 字节青训营第一课之go语言入门的笔记和总结

    有幸参加了字节跳动举办的青训营活动,主要是go语言的编程实践,我将会整理课程的笔记和总结,欢迎关注! 1Go语言简介 由于Go语言有语法简单.高性能等特点,因此国内外各大公司如谷歌.腾讯.字节等都在使 ...

  5. 电影院座位推荐--字节青训营

    题目 抖音电影票业务支持电影院选座,需要在用户买票时自动推荐座位,如果一个用户买了多张票,则需要推荐相邻(上下相邻.左右相邻都可)的座位.现在使用一个二维数组来表示电影院的座位,数组中 0 表示未被选 ...

  6. 字节青训营Go语言学习第一天--基础语言+实战案例

    文章目录 走进Go语言基础语言 2.2基础语言-变量 2.3基础语法- if else 2.4基础语法-循环 基础语法-switch 基础语法-数组 基础语法-切片 基础语法-map 基础语法-ran ...

  7. 【字节青训营】微服务架构原理核心服务治理与具体实践

    1.微服务架构介绍 1.1系统架构的演进历史 1.单体架构 2.垂直应用架构 按照业务线垂直划分 3.分布式架构 抽出与业务无关的公共模块 4.SOA架构 面向服务 5.微服务架构 彻底的服务化 5. ...

  8. 字节青训营第十三课之深入浅出RPC框架的笔记与总结.md

    基本概念 本地函数调用 函数调用完整过程如图,藏实际上编译器经常优化,参数和返回值少时直接将其存在寄存器,不需操作栈,直接online不需call: 将a和b的值入栈 经函数指针找到calculate ...

  9. 【字节青训营】Day1 HTML+CSS笔记

    一.HTML HTML传达内容,而不传达样式! 1.定义 HTML 指的是超文本标记语言 (Hyper Text Markup Language),是一种用于创建网页的标准标记语言. 语义化:HTML ...

最新文章

  1. linux 网络监控指标,Linux监控一些指标
  2. mysql5.7+主从不一致_Mysql5.7安装错误处理与主从同步及!
  3. 天眼查sign 算法破解
  4. DCMTK:将DICOM文件的内容转换为XML格式
  5. php crypt mysql password_php使用crypt()函数进行加密
  6. 2003服务器远程桌面连不上解决办法
  7. Hakase and Nano【博弈】
  8. python线性回归实例_python线性回归示例
  9. 蓝桥杯.历届试题: 错误票据
  10. linux pdf 合并 脚本,在Linux中使用脚本结合多个pdf文件?
  11. 手把手教你快速搭建Struts2框架【详细教程,建议收藏】
  12. CC00051.elasticsearch——|HadoopElasticSearch.V03|——|ELK.v03Logstash部署.V3|
  13. html效果浮窗效果,jQuery简单实现中间浮窗效果
  14. cad2010背景怎么调成黑色_iOS14桌面怎么布局好看-热点资讯-
  15. linux crash分析案例之进程同步
  16. 【hadoop系列】Hadoop HDFS命令
  17. 服务器修改文件名卡死,知道地址修改服务器文件名
  18. 网络扫描技术揭秘学习笔记《二》NetBIOS/NrtBEUI协议编程
  19. mysql程序设计排球比赛_PS-中国女排复古风海报
  20. java安卓字体_Android开发之字体设置

热门文章

  1. 第二类曲面积分、场论、高斯公式和斯托克斯公式
  2. Axios 的简易学习笔记
  3. 《新零售 低价高效的数据赋能之路》读后感
  4. 高通机器视觉快速指南二
  5. (学习笔记)JAVA开发需要掌握哪些技术?
  6. 数据基础---《利用Python进行数据分析·第2版》第7章 数据清洗和准备
  7. 灰度图转换成彩色图和彩虹图
  8. Python 爬虫入门(二)——爬取妹子图
  9. 在sae上面运行微信第三方平台微擎,带视频录像
  10. Intel graphics HD 4600 核芯显卡 对比 nVIDIA Geforce GTX 750 2GB GDDR5 独立显卡