博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
heaters
阅读量:5896 次
发布时间:2019-06-19

本文共 1050 字,大约阅读时间需要 3 分钟。

 

开始的时候,下面的代码对于两边数字完全一样的情况,测试不通过。原因是heater会有重复情况,这时候对于飘红部分就不会往前面继续检查。所以把<改成<=让相同的情况也继续往前面走,走到最后一个,就可以了。Accepted!

package com.company;import java.util.Arrays;class Solution {    public int findRadius(int[] houses, int[] heaters) {        Arrays.sort(houses);        Arrays.sort(heaters);        int ret = Integer.MIN_VALUE;        int i = 0;        int hlen = heaters.length;        int tmp = Integer.MIN_VALUE;        for (int h: houses) {            while (i+1 < hlen && Math.abs(heaters[i+1]-h) <= Math.abs(heaters[i]-h)) {                i++;            }            if (Math.abs(heaters[i]-h) > ret) {                ret = Math.abs(heaters[i]-h);            }        }        return ret;    }}public class Main {    public static void main(String[] args) {        Solution solution = new Solution();        int[] houses = {1, 2, 2, 3, 4, 5};        int[] heaters = {1, 2, 2, 3, 4, 5};        int ret = solution.findRadius(houses, heaters);        System.out.printf("Done ret: %d\n", ret);    }}

 

转载于:https://www.cnblogs.com/charlesblc/p/6183557.html

你可能感兴趣的文章
spring mvc 和ajax异步交互完整实例
查看>>
不同页面之间实现参数传递的几种方式讨论
查看>>
程序员进阶之路—如何独当一面
查看>>
SpringMVC中ModelAndView addObject()设置的值jsp取不到的问题
查看>>
Prometheus : 入门
查看>>
使用 PowerShell 创建和修改 ExpressRoute 线路
查看>>
PHP如何学习?
查看>>
谈教育与成长
查看>>
jni c++
查看>>
快速集成iOS基于RTMP的视频推流
查看>>
在C#中获取如PHP函数time()一样的时间戳
查看>>
Redis List数据类型
查看>>
android DDMS 连接真机(己ROOT),用file explore看不到data/data文件夹的解决办法
查看>>
sql server(常用)
查看>>
大数据项目实践(四)——之Hive配置
查看>>
Thread类源码解读(1)——如何创建和启动线程
查看>>
Bootstrap清除浮动的实现原理
查看>>
初学vue2.0-组件-文档理解笔记v1.0
查看>>
NG-ZORRO-MOBILE 0.11.9 发布,基于 Angular 7 的 UI 组件
查看>>
我就是一个救火员(DBA救援)
查看>>