【leetcode】475. Heaters

problem

475. Heaters

solution1:

class Solution {
public:
    int findRadius(vector<int>& houses, vector<int>& heaters){
        int ans = 0, cur = 0, j = 0;
        sort(houses.begin(), houses.end());
        sort(heaters.begin(), heaters.end());
        for(int i=0; i<houses.size(); i++)
        {
            cur = houses[i];
            while(j<heaters.size()-1 && abs(heaters[j+1]-cur)<=abs(heaters[j]-cur))
            {
                j++;
            }
            ans = max(ans, abs(heaters[j]-cur));
        }
        return ans;
        
    }
};

 博主的理解就是计算每个house对应的能够cover到的最小值,注意两个数组有先进行排序哦,然后cover每个house的最小值中的最大值即为所求解的能够cover每个house的最小值。

 

参考

1. Leetcode_475. Heaters;

2. GrandYang;

posted on 2019-03-21 09:27  鹅要长大  阅读(202)  评论(0编辑  收藏  举报

导航