力扣 5930. 两栋颜色不同且距离最远的房子
题目
街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色。给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] 表示第 i 栋房子的颜色。
返回 两栋 颜色 不同 房子之间的 最大 距离。
第 i 栋房子和第 j 栋房子之间的距离是 abs(i - j) ,其中 abs(x) 是 x 的绝对值。
示例
输入:colors = [1,1,1,6,1,1,1]
输出:3
解释:上图中,颜色 1 标识成蓝色,颜色 6 标识成红色。
两栋颜色不同且距离最远的房子是房子 0 和房子 3 。
房子 0 的颜色是颜色 1 ,房子 3 的颜色是颜色 6 。两栋房子之间的距离是 abs(0 - 3) = 3 。
注意,房子 3 和房子 6 也可以产生最佳答案。
输入:colors = [1,8,3,8,3]
输出:4
解释:上图中,颜色 1 标识成蓝色,颜色 8 标识成黄色,颜色 3 标识成绿色。
两栋颜色不同且距离最远的房子是房子 0 和房子 4 。
房子 0 的颜色是颜色 1 ,房子 4 的颜色是颜色 3 。两栋房子之间的距离是 abs(0 - 4) = 4 。
输入:colors = [0,1]
输出:1
解释:两栋颜色不同且距离最远的房子是房子 0 和房子 1 。
房子 0 的颜色是颜色 0 ,房子 1 的颜色是颜色 1 。两栋房子之间的距离是 abs(0 - 1) = 1 。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-furthest-houses-with-different-colors
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
方法1:双指针
class Solution {public int maxDistance(int[] colors) {int n = colors.length;int l = 0, r = n - 1;int len = Integer.MIN_VALUE;while (l < n) {while (l <= r && colors[l] == colors[r]) r--;len = Math.max(r - l, len);l++;r = n - 1;}return len;}
}
力扣 5930. 两栋颜色不同且距离最远的房子相关推荐
- 5930. 两栋颜色不同且距离最远的房子
5930. 两栋颜色不同且距离最远的房子 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] 表 ...
- LeetCode简单题之两栋颜色不同且距离最远的房子
题目 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] 表示第 i 栋房子的颜色. 返回 两栋 ...
- 2078. 两栋颜色不同且距离最远的房子
地址: 力扣https://leetcode-cn.com/problems/two-furthest-houses-with-different-colors/ 题目: 街上有 n 栋房子整齐地排成 ...
- LeetCode 2078. 两栋颜色不同且距离最远的房子
文章目录 1. 题目 2. 解题 1. 题目 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] ...
- 2078 两栋颜色不同且距离最远的房子
题目描述: 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] 表示第 i 栋房子的颜色. 返回 ...
- 力扣合并两个有序链表
力扣合并两个有序链表 1.要求 2.思路及代码 3.问题 1.要求 合并两个有序链表 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1-& ...
- 大家帮忙看一下这两个ip地址到底距离多远
240e:434:11:627b:2ad:3f87:379f:c315 和 P240e:434:11:6782:3690:2665:6ac9:7e95 这两个ip到底距离多远,有莫有大神帮我看下,,这 ...
- 力扣算法题—075颜色分类
给定一个包含红色.白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色.白色.蓝色顺序排列. 此题中,我们使用整数 0. 1 和 2 分别表示红色.白色和蓝色. ...
- 力扣合并两个有序数组
题目:给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目. 请你 合并 nums2 到 nums1 中, ...
最新文章
- 几道有意思的逻辑分析题
- shell+vim——05
- Win10 UWP开发系列:解决Win10不同版本的Style差异导致的兼容性问题
- linux下软件的安装[转]
- 使用jMeter的regular expression extract提取SSO form的XSRF protection token
- Robotium双client測试框架
- SQL Server中删除重复数据的几个方法
- Oracle ORA-00119和ORA-00132的解决方案
- 一个示例让你明白界面与数据分离
- python 拼音排序_Python实现针对中文排序的方法
- STM32 复位电路设计
- MATLA图片清晰度调整
- Jackson –将JSON数组字符串转换为List
- 怎么画动漫人物的五官:耳鼻眼嘴
- c语言.jpg图片转成数组_AWTK——基于C语言开发的GUI框架,功能强大,支持跨平台同步开发...
- java变量与常量的区别_Java变量与常量
- Pacemaker部署
- Python中如何保留n位有效数字
- pandas——数据移位、数据转换、数据合并、数据导出和日期数据的处理,时间序列等
- 计算机设备耗材管理,计算机耗材管理办法
热门文章
- eclipse怎样导入java项目
- Python数据分析(统计分析)视频教程-唐宇迪-专题视频课程
- 模拟银行账户转账系统(简单模拟)
- CentOS7 图形界面中文乱码
- i710875h和i710750h哪个好
- ArcEngine二次开发错误编码对照表
- 数据挖掘导论 笔记4
- 【已解决】No Python at ‘D:\Python\python.exe‘
- 【七-2】终身学习 Life Long Learning - catasrophic forgetting
- 流程生产订单和离散生产订单的区别_浅谈流程型和离散型MES的区别