5930. 两栋颜色不同且距离最远的房子
生活随笔
收集整理的這篇文章主要介紹了
5930. 两栋颜色不同且距离最远的房子
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
5930. 兩棟顏色不同且距離最遠的房子
街上有 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 棟顏色不同的房子
解題思路
看到數據量,就想到使用樸素的解法,枚舉兩棟房子所有的可能選擇,計算所有顏色不同的房子的距離,找出兩棟顏色不同房子之間的最大距離。
代碼
class Solution { public:int maxDistance(vector<int>& colors) {int res(0);for (int i = 0; i < colors.size(); ++i) {for (int j = 0; j < i; ++j) {if (colors[i]!=colors[j]){res=max(res,i-j);break;}}}return res;} };總結
以上是生活随笔為你收集整理的5930. 两栋颜色不同且距离最远的房子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到野猪追自己什么预兆
- 下一篇: 做梦梦到吵架分手是什么意思