题解 | #寻找最合适的生育区域#
寻找最合适的生育区域
https://www.nowcoder.com/practice/c183c254a5c94b9da341fb27fb3caf99?tpId=354&tqId=10588482&ru=/exam/oj/ta&qru=/ta/interview-202-top/question-ranking&sourceUrl=%2Fexam%2Foj%2Fta%3FtpId%3D354
import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 相邻元素相差不超过指定值的最长字数组的长度
* 贪心法
* @param heights int整型一维数组
* @param k int整型
* @return int整型
*/
public int findMaxRangeWithinThreshold (int[] heights, int k) {
//不论高度多少,最少有一块地方可供迁徙
int res =1;
//临时变量
int t=1;
for(int i=0,j=1;j<heights.length;j++){
//比较高度差
if(Math.abs(heights[i]-heights[j])<k){
t++;
}else{
//取最优解
res = Math.max(res,t);
//重复子问题
t=1;
}
//更新指针
i = j;
}
return Math.max(res,t);
}
}
面试高频TOP202 文章被收录于专栏
面试高频TOP202题解

查看3道真题和解析