​LeetCode解法汇总849. 到最近的人的最大距离

news2024/12/23 3:18:17

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台


描述:

给你一个数组 seats 表示一排座位,其中 seats[i] = 1 代表有人坐在第 i 个座位上,seats[i] = 0 代表座位 i 上是空的(下标从 0 开始)。

至少有一个空座位,且至少有一人已经坐在座位上。

亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上。

返回他到离他最近的人的最大距离。

示例 1:

输入:seats = [1,0,0,0,1,0,1]
输出:2
解释:
如果亚历克斯坐在第二个空位(seats[2])上,他到离他最近的人的距离为 2 。
如果亚历克斯坐在其它任何一个空位上,他到离他最近的人的距离为 1 。
因此,他到离他最近的人的最大距离是 2 。 

示例 2:

输入:seats = [1,0,0,0]
输出:3
解释:
如果亚历克斯坐在最后一个座位上,他离最近的人有 3 个座位远。
这是可能的最大距离,所以答案是 3 。

示例 3:

输入:seats = [0,1]
输出:1

提示:

  • 2 <= seats.length <= 2 * 104
  • seats[i] 为 0 或 1
  • 至少有一个 空座位
  • 至少有一个 座位上有人

 

解题思路:

* 本题其实就是求出连续最多的0。

* 如果以0开头或者结尾,则看连续多少个0。如果是非0开头或结尾,则需要把连续的0的次数除以2

代码:

class Solution849
{
public:
    int maxDistToClosest(vector<int> &seats)
    {
        int index = 0;
        int zeroNum = 0;
        int abs = 0;
        while (index < seats.size())
        {
            if (seats[index] == 0)
            {
                zeroNum++;
                if (index == seats.size() - 1)
                {
                    abs = max(abs, zeroNum);
                }
                index++;
                continue;
            }
            if (index - zeroNum == 0)
            {
                abs = max(abs, zeroNum);
            }
            else
            {
                abs = max((zeroNum + 1) / 2, abs);
            }
            zeroNum = 0;
            index++;
        }
        return abs;
    }
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/912392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

互联网医院开发|医院叫号系统提升就医效率

在这个数字化时代&#xff0c;互联网医院不仅改变了我们的生活方式&#xff0c;也深刻影响着医疗行业。医院叫号系统应运而生&#xff0c;它能够有效解决患者管理和服务方面的难题。不再浪费大量时间在排队上&#xff0c;避免患者错过重要信息。同时&#xff0c;医护工作效率得…

QT基础教程之三信号和槽机制

QT基础教程之三信号和槽机制 信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽&#xff0c;实际就是观察者模式。当某个事件发生之后&#xff0c;比如&#xff0c;按钮检测到自己被点击了一下&#xff0c;它就会发出一个信号&#xff08;signal&#xff09;。这种发出是没有目…

Python实现SSA智能麻雀搜索算法优化Catboost回归模型(CatBoostRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法&#xff0c;在2020年提出&a…

2023-08-22 Unity Shader 开发入门2 —— Shader 开发介绍

文章目录 一、必备概念1 计算机图形程序接口2 图形接口程序与其他概念的联系 二、Shader 开发1 Shader2 Shader 开发3 需掌握的内容 一、必备概念 1 计算机图形程序接口 ​ 计算机图形程序接口&#xff08;Graphics API&#xff09;是一套可编程的开放标准&#xff0c;不论 2…

我和ChatGPT吟诗作对《落凡尘》

《落凡尘》 萌生泥里追梦去&#xff0c;归时不做蓬蒿人。 人间在世须进取&#xff0c;哪得几回落凡尘。 我和ChatGPT吟诗作对。

高忆管理:市盈率市净率市销率关系?

市盈率&#xff08;Price-Earnings Ratio&#xff0c;简称P/E Ratio&#xff09;、市净率&#xff08;Price-to-Book Ratio&#xff0c;简称P/B Ratio&#xff09;和市销率&#xff08;Price-to-Sales Ratio&#xff0c;简称P/S Ratio&#xff09;是常用的股票估值目标&#xf…

【数据分享】2012-2022年全球范围逐年NPP/VIIRS夜间灯光数据

夜间灯光数据是我们在各项研究中经常使用的数据&#xff01;本次我们给大家分享的是2012-2022年全球范围的逐年的NPP/VIIRS夜间灯光数据&#xff0c;数据格式为栅格格式(.tif)。该数据来自于NCEI国家环境信息中心&#xff0c;近期该网站更新了2022年的夜间灯光数据&#xff0c;…

大数据扫盲(2): 数据分析BI与ETL的紧密关系——ETL是成功BI的先决条件

着业务的发展每个企业都将产生越来越多的数据&#xff0c;然后这些数据本身并不能直接带来洞察力并产生业务价值。为了释放数据的潜力&#xff0c;数据分析BI&#xff08;商业智能&#xff09;成为了现代企业不可或缺的一部分。然而&#xff0c;在数据分析的背后&#xff0c;有…

【HCIP】08.ISIS中间系统

链路状态协议&#xff0c;传递LSA信息ISIS基于数据链路层封装在OSI时&#xff0c;也有自己的网络层地址和自己的路由协议&#xff0c;即ISIS。之前的ISIS支持OSI的网络层地址&#xff0c;是为OSI中的CLNP&#xff08;无连接网络协议&#xff09;网络设计的路由协议&#xff0c;…

客户案例:高性能、大规模、高可靠的AIGC承载网络

客户是一家AIGC领域的公司&#xff0c;他们通过构建一套完整的内容生产系统&#xff0c;革新内容创作过程&#xff0c;让用户以更低成本完成内容创作。 客户网络需求汇总 RoCE的计算网络RoCE存储网络1.不少于600端口200G以太网接入端口&#xff0c;未来可扩容至至少1280端口1.…

Linux存储学习笔记

相关文章 Linux 存储系列&#xff5c;请描述一下文件的 io 栈&#xff1f; - tcpisopen的文章 - 知乎 https://zhuanlan.zhihu.com/p/478443978 深入学习 Linux 操作系统的存储 IO 堆栈 - KaiwuDB的文章 - 知乎 https://zhuanlan.zhihu.com/p/636720297 linux存储栈概览 - st…

基于Java的ssm菜匣子优选系统源码和论文

基于Java的ssm菜匣子优选系统039 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&…

Office ---- excel ---- 怎么批量设置行高

解决方法&#xff1a; 调整行高即可

Spring Cloud Alibaba-微服务搭建(二)

4. 创建用户微服务 步骤: 创建模块 导入依赖创建SpringBoot主类加入配置文件创建必要的接口和实现类(controller service dao) 新建一个 shop-user 模块&#xff0c;然后进行下面操作 1 创建pom.xml <?xml version"1.0" encoding"UTF-8"?> <…

【校招VIP】java语言考点之垃圾回收算法

考点介绍&#xff1a; 垃圾回收算法是必考题。GC中的垃圾指的是存在于内存中的、不会再被使用的对象。而垃圾回收就是把那些不再被使用的对象进行清除&#xff0c;收回占用的内存空间...... 『java语言考点之垃圾回收算法』相关题目及解析内容可点击文章末尾链接查看&#xff…

温故知新之:Java中各类修饰符

本文以下内容基于 JDK 8 版本。 1、介绍 Java的修饰符根据修饰的对象不同&#xff0c;分为类修饰符、方法修饰符、变量修饰符&#xff0c;其中修饰符又分为访问控制修饰符和非访问控制修饰符。 2、类修饰符 2.1、访问修饰符 公共类修饰符 public &#xff1a; Java 语言中…

前端需要知道的HTTP知识

超文本传输协议&#xff08;HTTP&#xff0c;Hypertext Transfer Protocol &#xff09;是一个用于传输超媒体文档&#xff08;例如 HTML&#xff09;的应用层协议。它是为 Web 浏览器与 Web 服务器之间的通信而设计的&#xff0c;但也可以用于其他目的。HTTP 遵循经典的客户端…

Centos 7 安装系列(8):openGauss 3.0.0

安装依赖包&#xff1a; yum -y install libaio-devel flex bison ncurses-devel glibc-devel patch redhat-lsb-core readline-devel openssl-devel sqlite-devel libnsl 安装插件&#xff1a; yum install -y bzip2 net-tools为什么要安装这两个&#xff1f; 安装bzip2 是…

卷积神经网络——上篇【深度学习】【PyTorch】【d2l】

文章目录 5、卷积神经网络5.1、卷积5.1.1、理论部分5.1.2、代码实现5.1.3、边缘检测 5.2、填充和步幅5.2.1、理论部分5.2.2、代码实现 5.3、多输入多输出通道5.3.1、理论部分5.3.2、代码实现 5.4、池化层 | 汇聚层5.4.1、理论部分5.4.2、代码实现 5、卷积神经网络 5.1、卷积 …

【3D激光SLAM】LOAM源代码解析--laserMapping.cpp

系列文章目录 【3D激光SLAM】LOAM源代码解析–scanRegistration.cpp 【3D激光SLAM】LOAM源代码解析–laserOdometry.cpp 【3D激光SLAM】LOAM源代码解析–laserMapping.cpp 【3D激光SLAM】LOAM源代码解析–transformMaintenance.cpp 写在前面 本系列文章将对LOAM源代码进行讲解…