A.每日一题:2078. 两栋颜色不同且距离最远的房子
题目链接2078. 两栋颜色不同且距离最远的房子简单算法原理解法一暴力枚举2ms击败10.42%时间复杂度O(N²)思路很简单逐个枚举每个元素如果后续元素有与之不同的就更新ret结果取最大值解法二贪心0ms击败100.00%时间复杂度O(N)其实我们要找最大距离的话最直观的就是第一个位置和最后一个位置因为第一个位置和最后一个位置的元素本身就是一个值因此我们只需找到与第一个位置元素不同的下标 i 和与最后一个位置元素不同的下标 i 即可答案max( i , n-1-i)JAVA代码class Solution { //解法一暴力枚举 public int maxDistance(int[] colors) { int ret0; for(int i0;icolors.length;i) for(int ji1;jcolors.length;j) if(colors[i]!colors[j]) retMath.max(ret,j-i); return ret; } }class Solution { //解法二贪心 public int maxDistance(int[] colors) { int ret0,ncolors.length; for(int i1;in;i) if(colors[i]!colors[0]) reti; for(int in-2;i0;i--) if(colors[i]!colors[n-1]) retMath.max(ret,n-1-i); return ret; } }
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2538614.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!