zoukankan      html  css  js  c++  java
  • 1881. 飞机座位

    1881. 飞机座位

    中文English

    您的任务是为四口之家尽可能多的分配座位。一个四口之家必须占领一排当中连续的四个座位。过道上的座位(例如2C和2D)不被认为是彼此相邻的。一家人被过道分开是可以的,但在这种情况下必须每一边坐两个。显然,座位不可以分配给一个以上的家庭。

    编写一个函数

    class Solution {public int solution(int N,String S};

    函数中N表示有N排座位,S表示已经提供出去的座位,函数返回剩下的座位能坐四口之家的最大值。例如, N = 2,S = '1A 2F 1C’,你的函数应该返回2.下图给出了做法。

    当N = 1, S = ""(空字符串),你的函数应该返回2,因为我们最多可以提供2个四口之家的座位在一排空座位中,例如下图。

    样例

    输入: N = 2,S = "1A 2F 1C"
    输出: 2
    
    输入: N = 1,S = ""
    输出: 2
    

    注意事项

    • N是在[1,50]内的整数;
    • 字符串S由有效的座位名称组成,并用单个空格分隔;
    • 每个座位号最多在字符串S中出现一次。
     
     
    输入测试数据 (每行一个参数)如何理解测试数据?
    class Solution:
        """
        @param N:  the number of rows
        @param S: a list of reserved seats
        @return: nothing
        """
        '''
        大致思路:
        1. 总共只有3种可能,BCDE,DEFG,FGHI,只要占了,则可以写入S,判断下去即可,最终返回c
        '''
        def solution(self, N, S):
            c = 0
            d = S.split(' ')
            for i in range(1,N+1):
                if  '%sB'%str(i) not in d and '%sC'%str(i) not in d and '%sD'%str(i) not in d and '%sE'%str(i) not in d:
                    c += 1
                    d.append(str(i) + 'E')
                
                if '%sD'%str(i) not in d and '%sE'%str(i) not in d and '%sF'%str(i) not in d and '%sG'%str(i) not in d:
                    c += 1
                    d.append(str(i) + 'G')
                if '%sF'%str(i) not in d and '%sG'%str(i) not in d and '%sH'%str(i) not in d and '%sI'%str(i) not in d:
                    c += 1
            return c
  • 相关阅读:
    vue环境搭建
    'vue' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
    文件上传
    json字符串解析为java对象
    自定义登录控制类Demo
    分页后台代码Demo
    主键回显
    angularjs变量的三种表示方式
    js往后台传参的方式
    同一路径下jsp能访问到,html不能访问到
  • 原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12820564.html
Copyright © 2011-2022 走看看