美文网首页
849. 到最近的人的最大距离

849. 到最近的人的最大距离

作者: calm_peng | 来源:发表于2018-11-06 15:24 被阅读0次

在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的。

至少有一个空座位,且至少有一人坐在座位上。

亚历克斯希望坐在一个能够使他与离他最近的人之间的距离达到最大化的座位上。

返回他到离他最近的人的最大距离。

示例 1:

输入:[1,0,0,0,1,0,1]
输出:2
解释:
如果亚历克斯坐在第二个空位(seats[2])上,他到离他最近的人的距离为 2 。
如果亚历克斯坐在其它任何一个空位上,他到离他最近的人的距离为 1 。
因此,他到离他最近的人的最大距离是 2 。
示例 2:

输入:[1,0,0,0]
输出:3
解释:
如果亚历克斯坐在最后一个座位上,他离最近的人有 3 个座位远。
这是可能的最大距离,所以答案是 3 。

/*
分析问题:
对于我们判断有空位选择 最大距离有是哪种类型 
第一 第一个1的最左边 
第二 最后一个1的最右边
第三 两个1的中间 (选择一个最大的)
*/

class Solution {
   public  static int maxDistToClosest(int[] seats) {
            int frist1 = -1;
            
            int distance = 0;
            int j= 0  , k = 0 ;
            
            for(int i = 0;i<seats.length;i++ ) {
                if(seats[i] == 1) {
                    j = i;
                    if(distance < j-k) {
                        distance = j- k;
                        
                    }
                        
                    
                    
                    
                    if(frist1 == -1) {
                        frist1 = i;
                        
                    }
                    
                    
                    k = j;
                }
                
                
            }
            int maxDistance = twoNumChooseMaxDistance(k,frist1,seats);
            distance =  distance/2;
            if(distance > maxDistance)
                    return distance;
            else
                return maxDistance;
            
            
            
           
        }   
            
            
           
            
            
      public static int twoNumChooseMaxDistance(int last1,int frist1,int[] s) {
          if(frist1 > (s.length-last1-1))
              return frist1;
          else
             return s.length-last1-1;
      }
    
    
}

相关文章

  • 849. 到最近的人的最大距离

    在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的。 至少有一个空座位,且至少有一人坐在座...

  • 849. 到最近的人的最大距离(Python)

    难度:★★☆☆☆类型:数组方法:分类讨论 力扣链接请移步本题传送门[https://leetcode-cn.com...

  • 849. 到最近人的最大距离(Python)

    题目 难度:★★☆☆☆类型:数组 在一排座位( seats)中,1 代表有人坐在座位上,0 代表座位上是空的。 至...

  • 【LeetCode】849. Maximize Distance

    【LeetCode】849. Maximize Distance to Closest Person 849. M...

  • SVM-支持向量机

    SVM就是寻找分割线最佳分割线——最大化了到最近点的距离最大化了于左右两分类最近点的距离——间隔最大化了于左右两分...

  • 最近的距离

    你毕业那年,就是我回来的那年,也是我们走得最近的一年。 那时候,你在准备各种公务员考试,有一回,便是发了这么一张图...

  • 最近的距离

    最近的距离,却也是最远的距离。 我不相信“永远”。 奇怪的是,我会说“永远”。 那么,永远到底有多远呢? 假如可以...

  • 最近的距离

    By:纸糊团 暴风雨的黑夜里 波涛碰撞着黎明 人与鱼的相遇 ...

  • 最近的距离

    你在那一头 我在这一头 却, 不能抚摸着你 这情, 在黑夜里慢慢散开 跳动的心房 蔓延在绽放 心思与谁诉说 痴痴在...

  • 最近的距离

    "姑娘有心事?"书生抿嘴品茶问到。 少女:"公子与城东唐公子可是熟识?" 书生:"世交。" 少女:"那下次你与他一...

网友评论

      本文标题:849. 到最近的人的最大距离

      本文链接:https://www.haomeiwen.com/subject/kqeuxqtx.html