l 问题
有一个能容纳1000人的餐馆,他们将座位按顺序编号并记录在了数据库表中,每个客人就坐之后,服务员就会在座位表中标记一下,当客人离开后,就删除这个标记。某一时刻下的该表如下:
由于经常有客人是多位一起,需要坐到连续的座位上,为方便寻找这种连续的座位,餐馆需要一个同步的“空闲座位片区表”,用于记录当前的空闲座位有哪些区段,以及每个区段的位置。
请帮助餐馆的管理员,由上面的座位表生成空闲座位片区表。
l 思路
大致思路:合并相同的内容,集算器中的分组函数可以解决,而只合并相邻的相同内容,group函数带有不排序参数可选,不排序分组就可以完美的解决这个问题。
l 代码
|
A |
|
1 |
=file("C:\\txt\\Seatings.txt").import@t() |
座位表 |
2 |
=A1.group@o(Availability;~.count():NumberOfSeats,~.SeatNo:StartingSeatNo) |
按是否有客人进行不排序分组 |
3 |
=A2.select(Availability) |
选出空闲的座位片区 |
l 结果