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
        }
    }
  • 相关阅读:
    MongoDB入门示例及介绍
    Oracle/PLSQL CURSOR FOR Loop
    JAVA写的文件分割与文件合并程序
    synchronized 解决死锁的问题 轉貼
    采用批处理命令对文件进行解压及采用SQLCMD进行数据库挂载
    chapter6作业
    chapter5作业
    chapter4作业
    Linuz系统管理 -----账号管理
    chapter02
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/15754811.html
Copyright © 2011-2022 走看看