华为OD机试 选座位

2023-03-31 12:49:46 浏览数 (1)

本期题目:选座位

题目

疫情期间需要大家保证一定的社交距离 公司组织开交流会议,座位有一排共N个座位 编号分别为[0...n-1] 要求员工一个接着一个进入会议室 并且还可以在任何时候离开会议室 每当一个员工进入时,需要坐到最大社交距离的座位

  • 例如:
    • 位置A与左右有员工落座的位置距离分别为22
    • 位置B与左右有员工落座的位置距离分别为23
    • 影响因素都为两个位置,则认为作为AB与左右位置的社交距离是一样的
    • 如果有多个这样的座位
    • 则坐到索引最小的那个座位

输入

会议室座位总数1 <= seatNum <= 100 员工的进出顺序seatOrLeave数组元素值为1表示进场, 元素值为负数表示出场(特殊:位置 0 的员工不会离开) 例如 -4 表示坐在位置 4 的员工离开(保证有员工坐在该座位上)

输出

最后进来员工,他会坐在第几个位置 如果位置已满 则输出-1

0 人点赞