题目:2274. 不含特殊楼层的最大连续楼层数

思路:排序后做差值即可,时间复杂度0(nlogn)。
C++版本:
class Solution {
public:
int maxConsecutive(int bottom, int top, vector<int>& special) {
special.push_back(bottom-1);
special.push_back(top+1);
sort(special.begin(),special.end());
int ans=0;
for(int i=1;i<special.size();i++){
ans=max(ans,special[i]-special[i-1]-1);
}
return ans;
}
};
JAVA版本:
class Solution {
public int maxConsecutive(int bottom, int top, int[] special) {
Arrays.sort(special);
int n=special.length;
int mx=Math.max(special[0]-bottom,top-special[n-1]);
for(int i=1;i<n;i++){
mx=Math.max(mx,special[i]-special[i-1]-1);
}
return mx;
}
}
Go版本:
func maxConsecutive(bottom int, top int, special []int) int {
special=append(special,bottom-1)
special=append(special,top+1)
slices.Sort(special)
mx :=0
for i:=1;i<len(special);i++ {
mx=max(mx,special[i]-special[i-1]-1)
}
return mx
}

930

被折叠的 条评论
为什么被折叠?



