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

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

public class Solution {    public int FindRadius(int[] houses, int[] heaters) {        houses = houses.Distinct().ToArray();//去重            heaters = heaters.Distinct().ToArray();//去重            var temphouses = houses.Except(houses.Intersect(heaters)).ToArray();            //var tempheaters = heaters.Except(heaters.Intersect(houses)).ToArray();            houses = temphouses;            //heaters = tempheaters;            if (houses.Length == 0)            {                return 0;            }            //将房间与炉子合并到一个列表中            var list = new List
>();//key是坐标,value=0表示房间,value=1表示火炉 foreach (var house in houses) { list.Add(new KeyValuePair
(house, 0)); } foreach (var heater in heaters) { list.Add(new KeyValuePair
(heater, 1)); } list = list.OrderBy(x => x.Key).ToList();//根据坐标排序 var min = int.MinValue; var minList = new List
(); //根据每个房间,找其最近的炉子 for (int i = 0; i < list.Count; i++) { if (list[i].Value == 0) { var house = list[i].Key;//找到一所房间的坐标 var j1 = i - 1;//循环,找前面的第一个炉子 var dis1 = int.MaxValue; while (j1 >= 0) { if (list[j1].Value == 1) { dis1 = Math.Abs(house - list[j1].Key); break; } j1--; } var j2 = i + 1;//循环,找后面的第一个炉子 var dis2 = int.MaxValue; while (j2 < list.Count) { if (list[j2].Value == 1) { dis2 = Math.Abs(house - list[j2].Key); break; } j2++; } var dis = Math.Min(dis1, dis2);//距离当前房间,最近的炉子的距离 minList.Add(dis); } } min = minList.Max(); return min; }}

转载于:https://www.cnblogs.com/asenyang/p/6769167.html

你可能感兴趣的文章
使用 Find 命令来帮你找到那些需要清理的文件
查看>>
《信息存储与管理(第二版):数字信息的存储、管理和保护》—— 2.8 主机对数据的访问...
查看>>
什么是阿里云数加大数据计算服务MaxCompute?
查看>>
《Docker全攻略》书评
查看>>
SQL 多条件查询去掉影响效率的where 1=1
查看>>
android universal image loader 缓冲原理详解
查看>>
C语言程序设计实践(OJ)-用循环解决问题
查看>>
饿了么Redis Cluster集群化演进
查看>>
第七章 Python异常处理
查看>>
数据结构例程——线索化二叉树(中序)
查看>>
Java安全——密钥那些事
查看>>
[翻译] getauxval() and the auxiliary vector
查看>>
项目特质与设计开发流程的策略选择
查看>>
小程序弹性Web之旅
查看>>
[喵咪Golang(1)]Go语言开篇
查看>>
SQL Server存储过程
查看>>
HTML 控制密码框的可见和隐藏
查看>>
pg_cancel_backend()和pg_terminate_backend()
查看>>
Java Web之网络通讯
查看>>
SVG实例之中国地图
查看>>