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
        }
    }
  • 相关阅读:
    Solidity safesub防止溢出
    Solidity字符串拼接实现oraclize动态查询
    Solidity mapping循环
    Solidity 合约调用合约
    Solidity string to uint
    Solidity智能合约升级解决方案
    Solidity部署问题
    linux 安装xwiki
    linux 安装 java
    linux 安装tomcat
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/15754811.html
Copyright © 2011-2022 走看看