zoukankan      html  css  js  c++  java
  • 475. Heaters

    /**
    475. Heaters
    https://leetcode.com/problems/heaters/
    Winter is coming! During the contest, your first job is to design a standard heater with a fixed warm radius to warm all the houses.
    Every house can be warmed, as long as the house is within the heater's warm radius range.
    Given the positions of houses and heaters on a horizontal line,
    return the minimum radius standard of heaters so that those heaters could cover all houses.
    Notice that all the heaters follow your radius standard, and the warm radius will the same.
    
    Example 1:
    Input: houses = [1,2,3], heaters = [2]
    Output: 1
    Explanation: The only heater was placed in the position 2, and if we use the radius 1 standard, then all the houses can be warmed.
    
    Example 2:
    Input: houses = [1,2,3,4], heaters = [1,4]
    Output: 1
    Explanation: The two heater was placed in the position 1 and 4. We need to use radius 1 standard, then all the houses can be warmed.
    
    Example 3:
    Input: houses = [1,5], heaters = [2]
    Output: 3
    
    Constraints:
    1. 1 <= houses.length, heaters.length <= 3 * 10^4
    2. 1 <= houses[i], heaters[i] <= 109
    */
    
    pub struct Solution{}
    
    impl Solution {
        /*
        Solution 1: Bruce force, Time:O(m*n), Space:O(1);
        */
        pub fn find_radius(houses: Vec<i32>, heaters: Vec<i32>) -> i32 {
            let mut result = 0;
            for house in houses {
                result = std::cmp::max(result,Self::checkMinDist(house,&heaters))
            }
            result
        }
    
        fn checkMinDist(house: i32, heaters:&Vec<i32>)->i32{
            let mut minDistance = std::i32::MAX;
            for heater in heaters {
                minDistance = std::cmp::min(minDistance, (heater-house).abs())
            }
            minDistance
        }
    }
  • 相关阅读:
    使用XMLReader读XML
    C#命名空间大全详细教程
    C# using 三种使用方式
    SVN服务器搭建
    简单的自定义Session
    python学习第十八天 --错误&异常处理
    锁的等级:方法锁、实例锁、类锁
    java线程池如何合理的设置大小
    挖掘两个Integer对象的swap的内幕
    实现线程同步的方式
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/15754811.html
Copyright © 2011-2022 走看看