LeetCode简单题之两栋颜色不同且距离最远的房子
题目
街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色。给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] 表示第 i 栋房子的颜色。
返回 两栋 颜色 不同 房子之间的 最大 距离。
第 i 栋房子和第 j 栋房子之间的距离是 abs(i - j) ,其中 abs(x) 是 x 的绝对值。
示例 1:
输入:colors = [1,1,1,6,1,1,1]
输出:3
解释:上图中,颜色 1 标识成蓝色,颜色 6 标识成红色。
两栋颜色不同且距离最远的房子是房子 0 和房子 3 。
房子 0 的颜色是颜色 1 ,房子 3 的颜色是颜色 6 。两栋房子之间的距离是 abs(0 - 3) = 3 。
注意,房子 3 和房子 6 也可以产生最佳答案。
示例 2:
输入:colors = [1,8,3,8,3]
输出:4
解释:上图中,颜色 1 标识成蓝色,颜色 8 标识成黄色,颜色 3 标识成绿色。
两栋颜色不同且距离最远的房子是房子 0 和房子 4 。
房子 0 的颜色是颜色 1 ,房子 4 的颜色是颜色 3 。两栋房子之间的距离是 abs(0 - 4) = 4 。
示例 3:
输入:colors = [0,1]
输出:1
解释:两栋颜色不同且距离最远的房子是房子 0 和房子 1 。
房子 0 的颜色是颜色 0 ,房子 1 的颜色是颜色 1 。两栋房子之间的距离是 abs(0 - 1) = 1 。
提示:
n == colors.length
2 <= n <= 100
0 <= colors[i] <= 100
生成的测试数据满足 至少 存在 2 栋颜色不同的房子
来源:力扣(LeetCode)
解题思路
首先求出有多少种不同的颜色来,然后从正面遍历寻找这个颜色的位置,接着从尾巴遍历寻找与这个颜色不同的颜色的第一个位置,这应该就是颜色1到颜色2的最大距离。
class Solution:def maxDistance(self, colors: List[int]) -> int:color=set(colors)MAX=0for i in color:for j in range(len(colors)):if i==colors[j]:breakfor k in range(len(colors)-1,-1,-1):if colors[k]!=i:breakif k-j>MAX:MAX=k-jreturn MAX
LeetCode简单题之两栋颜色不同且距离最远的房子相关推荐
- LeetCode 2078. 两栋颜色不同且距离最远的房子
文章目录 1. 题目 2. 解题 1. 题目 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] ...
- 2078. 两栋颜色不同且距离最远的房子
地址: 力扣https://leetcode-cn.com/problems/two-furthest-houses-with-different-colors/ 题目: 街上有 n 栋房子整齐地排成 ...
- 力扣 5930. 两栋颜色不同且距离最远的房子
题目 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] 表示第 i 栋房子的颜色. 返回 两栋 ...
- 5930. 两栋颜色不同且距离最远的房子
5930. 两栋颜色不同且距离最远的房子 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] 表 ...
- 2078 两栋颜色不同且距离最远的房子
题目描述: 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] 表示第 i 栋房子的颜色. 返回 ...
- LeetCode简单题之两数之和
题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组 ...
- LeetCode简单题之两个相同字符之间的最长子字符串
题目 给你一个字符串 s,请你返回 两个相同字符之间的最长子字符串的长度 ,计算长度时不含这两个字符.如果不存在这样的子字符串,返回 -1 . 子字符串 是字符串中的一个连续字符序列. 示例 1: 输 ...
- LeetCode简单题之两个数对之间的最大乘积差
题目 两个数对 (a, b) 和 (c, d) 之间的 乘积差 定义为 (a * b) - (c * d) . 例如,(5, 6) 和 (2, 7) 之间的乘积差是 (5 * 6) - (2 * 7) ...
- LeetCode简单题之两数之和 IV - 输入 BST
题目 给定一个二叉搜索树 root 和一个目标结果 k,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true. 示例 1: 输入: root = [5,3,6,2,4,null, ...
最新文章
- 23 版本以上的v4包_Ant Design Pro V2升级到V4 小结
- AI时代,谈数据分析时我们要谈些什么?
- Confluence 6 配置文件和key
- mac os x 添加 用户 所属 组
- python【数据结构与算法】二分归并模版
- 专用DNS的CDN工作流程
- innodb_force_recovery的值意思
- ansible-01
- weka不能使用Apriori/FPGrowth
- QHD DDIC is implemented via HANA
- 创建win32 dll
- [JAVA][Eclipse]JVM terminated. Exit code=13
- [NOIP2015] 运输计划(第二弹)
- SVN客户端和服务端的安装教程
- 计算机如何解锁 磁盘,怎么解除Dell电脑硬盘的bitlocker加密
- 2、传输介质——双绞线
- 赶上时代步伐,我们也来做“菱形图片”
- 用tig来查看git log
- 积分商城小程序定制开发
- DPU网络开发SDK——DPDK(十二)
热门文章
- 2022-2028年中国汽车零部件行业市场研究及前瞻分析报告
- lisp协议instand_分享|Linux 上 10 个最好的 Markdown 编辑器
- Go 知识点(19)— Go 语言中的野指针
- QT 中QTimer 和 startTimer()的区别
- debian10 Unable to correct problems, you have held broken packages.
- BERT可视化工具bertviz体验
- LeetCode简单题之删除字符使字符串变好
- 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程
- camera中LENS和SENSOR的CRA是如何搭配的?
- NVIDIA CUDA-X AI