Minimum Distance to the Target Element
给一个数组, 一个整数start和一个整数target, 求数组离start的index最近的数等于target的.
这题就是从start的index周围开始找. 注意一下边界.
class Solution {
public:
int getMinDistance(vector<int>& nums, int target, int start) {
int i = start;
int j = start + 1;
while(i >= 0){
if(nums[i] == target)
break;
i--;
}
while(j < (int)nums.size()){
if(nums[j] == target)
break;
j++;
}
if(i == -1)// if i out of range
return j - start;
if(j == (int)nums.size()) // if j out of range
return start - i;
if(start - i > j - start){
return j - start;
}else{
return start - i;
}
}
};