题目

街上有 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简单题之两栋颜色不同且距离最远的房子相关推荐

  1. LeetCode 2078. 两栋颜色不同且距离最远的房子

    文章目录 1. 题目 2. 解题 1. 题目 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] ...

  2. 2078. 两栋颜色不同且距离最远的房子

    地址: 力扣https://leetcode-cn.com/problems/two-furthest-houses-with-different-colors/ 题目: 街上有 n 栋房子整齐地排成 ...

  3. 力扣 5930. 两栋颜色不同且距离最远的房子

    题目 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] 表示第 i 栋房子的颜色. 返回 两栋 ...

  4. 5930. 两栋颜色不同且距离最远的房子

    5930. 两栋颜色不同且距离最远的房子 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] 表 ...

  5. 2078 两栋颜色不同且距离最远的房子

    题目描述: 街上有 n 栋房子整齐地排成一列,每栋房子都粉刷上了漂亮的颜色.给你一个下标从 0 开始且长度为 n 的整数数组 colors ,其中 colors[i] 表示第 i 栋房子的颜色. 返回 ...

  6. LeetCode简单题之两数之和

    题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标. 你可以假设每种输入只会对应一个答案.但是,数组 ...

  7. LeetCode简单题之两个相同字符之间的最长子字符串

    题目 给你一个字符串 s,请你返回 两个相同字符之间的最长子字符串的长度 ,计算长度时不含这两个字符.如果不存在这样的子字符串,返回 -1 . 子字符串 是字符串中的一个连续字符序列. 示例 1: 输 ...

  8. LeetCode简单题之两个数对之间的最大乘积差

    题目 两个数对 (a, b) 和 (c, d) 之间的 乘积差 定义为 (a * b) - (c * d) . 例如,(5, 6) 和 (2, 7) 之间的乘积差是 (5 * 6) - (2 * 7) ...

  9. LeetCode简单题之两数之和 IV - 输入 BST

    题目 给定一个二叉搜索树 root 和一个目标结果 k,如果 BST 中存在两个元素且它们的和等于给定的目标结果,则返回 true. 示例 1: 输入: root = [5,3,6,2,4,null, ...

最新文章

  1. 23 版本以上的v4包_Ant Design Pro V2升级到V4 小结
  2. AI时代,谈数据分析时我们要谈些什么?
  3. Confluence 6 配置文件和key
  4. mac os x 添加 用户 所属 组
  5. python【数据结构与算法】二分归并模版
  6. 专用DNS的CDN工作流程
  7. innodb_force_recovery的值意思
  8. ansible-01
  9. weka不能使用Apriori/FPGrowth
  10. QHD DDIC is implemented via HANA
  11. 创建win32 dll
  12. [JAVA][Eclipse]JVM terminated. Exit code=13
  13. [NOIP2015] 运输计划(第二弹)
  14. SVN客户端和服务端的安装教程
  15. 计算机如何解锁 磁盘,怎么解除Dell电脑硬盘的bitlocker加密
  16. 2、传输介质——双绞线
  17. 赶上时代步伐,我们也来做“菱形图片”
  18. 用tig来查看git log
  19. 积分商城小程序定制开发
  20. DPU网络开发SDK——DPDK(十二)

热门文章

  1. 2022-2028年中国汽车零部件行业市场研究及前瞻分析报告
  2. lisp协议instand_分享|Linux 上 10 个最好的 Markdown 编辑器
  3. Go 知识点(19)— Go 语言中的野指针
  4. QT 中QTimer 和 startTimer()的区别
  5. debian10 Unable to correct problems, you have held broken packages.
  6. BERT可视化工具bertviz体验
  7. LeetCode简单题之删除字符使字符串变好
  8. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程
  9. camera中LENS和SENSOR的CRA是如何搭配的?
  10. NVIDIA CUDA-X AI