leecode第四百七十五题(供暖器)

class Solution {
public:
    int findRadius(vector<int>& houses, vector<int>& heaters) {
        int res=0;
        int len1=houses.size();
        int len2=heaters.size();
        sort(houses.begin(),houses.end());//先排序
        sort(heaters.begin(),heaters.end());
        int index_sta=0;
        int index_end=len2-1;
        for(int i=0;i<len1/2;i++)//对于第一个房屋和最后一个房屋,检测各自前后两个供暖器
        {
            while(index_sta<len2-1&&houses[i]-heaters[index_sta+1]>0)
                index_sta++;
            while(index_end>0&&houses[len1-1-i]-heaters[index_end-1]<0)
                index_end--;

            int temp1;//取前后供暖器位置最近的
            if(index_sta==len2-1)
                temp1=abs(houses[i]-heaters[index_sta]);
            else
                temp1=min(abs(houses[i]-heaters[index_sta]),abs(houses[i]-heaters[index_sta+1]));

            int temp2;
            if(index_end==0)
                temp2=abs(houses[len1-1-i]-heaters[index_end]);
            else
                temp2=min(abs(houses[len1-1-i]-heaters[index_end]),abs(houses[len1-1-i]-heaters[index_end-1]));

            if(max(temp1,temp2)>res)//取两个位置里最大的
                res=max(temp1,temp2);
        }

        return res;
    }
};

分析:

有点恶心。

原文地址:https://www.cnblogs.com/CJT-blog/p/10820022.html

时间: 2024-10-10 02:26:20

leecode第四百七十五题(供暖器)的相关文章

上班的第四百七十五天

今天有点偷懒,因为我纠结了,究竟是继续研究数据库呢,还是解那个无解的bug呢?最后两样都没有完成,搞得心慌慌的,果然一心真的不能二用. 还好,还是能够学到点东西的,就是服务器的第3个模块,子系统模块.加上之前弄清楚了资源管理器.通信模块,基本上服务器的逻辑框架我就掌握了.用了6天,理清了服务器框架,lua入门了,MySql也入门了,学会了使用VS2010开发软件以及用Sqlyog访问数据库,有基础学东西就是容易上手. 接下来要进一步规划学习内容了. 首先,我的任务肯定会多起来,而且肯定是逻辑业务

第三百七十五节,Django+Xadmin打造上线标准的在线教育平台—创建课程机构app,在models.py文件生成3张表,城市表、课程机构表、讲师表

第三百七十五节,Django+Xadmin打造上线标准的在线教育平台-创建课程机构app,在models.py文件生成3张表,城市表.课程机构表.讲师表 创建名称为app_organization的课程机构APP,写数据库操作文件models.py models.py文件 #!/usr/bin/env python # -*- coding:utf-8 -*- from __future__ import unicode_literals from datetime import datetim

上班的第四百七十六天

放假比上班还累,本来还幻想着一副放假的时候能够拿一本<effective C++>在图书馆装逼的情景的,谁知道第一天就睡过去了.第二天和第三天帮我姐搬家,第四天各种饭局,屁都没多放一个,真心累. 昨天晚上,也就是放假的最后一天,我去找惜惜了,给她带点柠檬.看到她晒得黑黑的就知道她最近玩得挺开心的,她开心就好,我就怕她不开心.虽然我知道她还是喜欢我,我也是,但是我不敢再牵她手了,因为不想再次陷入纠结了,就这样好好生活下去也挺好的. 今天上班,继续解决那个"幸运值"的问题,我问

上班的第四百七十四天——无解的bug

今天认真找了一天的bug,其实就是定位错误,然后仔细看那个地方的代码.我看了,仔细地,但是没有发现任何逻辑上的漏洞,但是考虑到服务器是有几条线程在跑,而且由于服务器的主业务逻辑是通过一条while循环实现的,就相当于单线程,那么所有逻辑代码基本上是没有加锁的.有可能是多线程引起的问题,但多线程的东西是很难跟踪的,外加这个只有1个玩家会出现,其他都没有出现.无法重现现象,如何解决bug? 就像<金田一杀人事件>那样,如果凶手不再杀多一个人,是很难找到凶手的,案件基本是无解了. 当然,还存在另外一

第四百三十五天 how can I 坚持

真是揪心啊. 昨天,之前同事cxw来北京了,一块聚了聚,吃的王婆大虾,啊..U盘洗了,没坏,还有地铁口遇到死了个人,在抢救. 今天,在家待了一天,昨天竟然是xb的生日,今天中午吃的蛋糕,晚上又是做的西红柿鸡蛋汤,话说这两天雾霾好厉害. 到底该如何破,如何,有种不好得预兆呢.还有考研,哎.真揪心啊. 洗个澡,睡觉.

第四百二十五、六天 how can I 坚持

前天lcj发飙后,心情就一直很郁闷,昨天晚上好不容易早回家了趟,竟然把钥匙落公司了.在外边苦苦等了两个多小时,好疲惫. 今天给lcj打电话,原来是她爸爸不同意,说我本来就没打算回去.真的好郁闷啊,不知道该怎么办了,大北京,该何去何从啊. 今天晚上回家买了份 凉菜,腐竹都味了,哎,以后夏天坚决不买凉菜了. 最近感觉好累,就好像生病了似的,全身都疼,睡眠也一直不好,晚上老是醒,醒了就失眠会,早上还醒的特别早. 真希望lcj明天能来,但愿不会物极必反. 准备洗个澡,睡觉.还得收拾下东西. 无论怎么样,

第一百七十五节,jQuery,工具函数

jQuery,工具函数 学习要点: 1.字符串操作 2.数组和对象操作 3.测试操作 4.URL 操作 5.浏览器检测 6.其他操作 工具函数是指直接依附于 jQuery 对象,针对 jQuery 对象本身定义的方法,即全局性 的函数.它的作用主要是提供比如字符串.数组.对象等操作方面的遍历. 一.字符串操作 在 jQuery 中,字符串的工具函数只有一个,就是去除字符串左右空格的工具函数: trim()去掉字符串两边空格 var str = ' jQuery '; alert(str); al

第五百七十五、六天 how can I 坚持

昨天下班竟然去吃火锅了,其他好像也没啥了. 今天自己在家待了一天,也没学多少东西,自律性太差了. 我思我想我坚持,思是思考,想是冥想,最怕坚持,因为坚持总能成功.本想注册个微博,竟然让手机自己发短息,微博也真是够扣的.还是注册下吧. 晚上出去买了点猪头肉,吃着都恶心,以后再也不吃猪头肉了. 明天买点肉,自己蒸粉蒸吃,哈哈.这生活. 准备睡觉了,再看会书.学习切莫急,急伤神,心意乱.

上班的第四百七十天——开始游戏生涯了

今天正式进军游戏行业了,感觉是很累,但是真心觉得有好多东西学,挺开心的,终于可以向中级程序员迈进了. 先按照昨天的计划,把VS2010常用的快捷键记录下来,然后能够较为轻松地浏览代码后,就叫锋哥--服务器主程,分配了一些简单的任务给我,让我由一个点发散开来熟悉代码. 锋哥给了我两个bug,一个是消耗物品后短时间内提升角色的各种属性值,其中有个属性值没有达到预期那样,我的任务就是将它改过来. 说实话,真心觉得这个任务简单得不能再简单了.贪心的我就直接在VS里面搜"苹果"(该消耗品叫&qu