满足: 每当一个员工进入时,需要坐到最大社交距离(最大化自己和其他人的距离的座位); 如果有多个这样的座位,则坐到 索引最小 的那个座位。 输入描述: 会议室座位总数 seatNum 。(1 <= seatNum <= 500) 员工的进出顺序 seatOrLeave 数组,元素值为 1,表示进场;元素值为负数,表示出场(特殊:位置 0 的员工不会离开)。 例如 - 4 表示坐在位置 4 的员工离开(保证有员工坐在该座位上) 输出描述: 最后进来员工,他会坐在第几个位置,如果位置已满,则输出 - 1 。
【Java代码】:
public class maxDistance { //输入座位数 //输入数组(表示进场顺序){1,1,-1,1,-4,1,1} //输出最后以为进场的座位;索引 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int seatNum = scanner.nextInt(); scanner.nextLine(); int[] seatOrLeave = Arrays.stream(scanner.nextLine().split(",")) .mapToInt(Integer::parseInt).toArray(); scanner.close(); int[] seat = new int[seatNum]; for (int i = 0; i < seatNum