Description 桐桐一直有个梦想,很希望像“蜘蛛人”罗伯特一样飞檐走壁。为了达成这个梦想,桐桐每天都辛勤练习攀爬。练习的出发点与终点都是在地上面。给出一个数列,代表她每次移动的距离。这个移动可以向上,也可以向下。但是不可能到达地下面去的。而她做练习使用的建筑物总是比她到达过的最高位置高 2 米。现在我们希望这个建筑物的高度越小越好。 如:20 20 20 20 如果是上,上,下,下的话,这个建筑物就要 42 米高,如果是上,下,上,下,就只要 22 米高。 当然有些数列是无解的,例如:3421645。 Format Input 第 1 行输入 n(n ≤ 100),代表有 n 个爬行距离; 第 2 行输入 n 个爬行距离(均为整数),这些爬行距离的总和不超过 10000。 Output 如果有解,则输出最小的高度; 否则输出“IMPOSSIBLE”。
时间: 2023-07-15 18:14:01 浏览: 171
Solution 思路
本题是一道非常典型的模拟题。我们可以根据题目所述的条件,模拟出桐桐爬行的过程,并且计算出建筑物的高度,最后输出最小的建筑物高度。
做题的时候,可以设置一个变量 $height$ ,表示桐桐爬行过程中到达的最高高度,同时也可以在模拟的过程中计算出建筑物的高度。每当桐桐爬到一个新的位置时,我们需要判断她是向上还是向下爬行,然后根据她目前到达的最高高度,来判断是否需要更新建筑物的高度。
如果最后建筑物的高度仍然比桐桐到达过的最高高度低 2 米,那么这个高度就是最小的建筑物高度。否则,无解。
Time Complexity
时间复杂度为 $O(n)$。
Space Complexity
空间复杂度为 $O(1)$。
参考代码
相关问题
linux 下有个脚本restart.sh ,要求每次启动都执行这个脚本
在Linux系统中,如果你有一个名为`restart.sh`的脚本,想要每次系统启动时自动运行它,你可以通过修改系统的自启动配置文件来实现。这里有几个常见的步骤:
1. **检查是否已存在开机启动服务**:
首先,你需要确认`restart.sh`脚本当前不在系统默认的自启动配置文件如`/etc/rc.local`、`/etc/systemd/system/multi-user.target.wants/restart.service`或`/etc/init.d`下的任何服务列表中。
2. **创建启动链接或服务**:
- 对于Systemd (新版本的Linux):
- 如果尚未创建,可以在`/etc/systemd/system/`目录下创建一个服务文件,比如`restart.service`,然后添加内容:
```bash
[Unit]
Description=Restart Script
After=network.target
[Service]
ExecStart=/path/to/restart.sh
Restart=always
User=<your_user>
WorkingDirectory=/path/to/script_directory
[Install]
WantedBy=multi-user.target
```
- 然后运行 `sudo systemctl daemon-reload && sudo systemctl enable restart.service`
- 对于Upstart或Init (旧版本):
- 可能需要在`/etc/init`目录下创建一个`restart.conf`文件,并添加类似:
```ini
description "Restart Script"
start on runlevel [2345]
respawn
exec /path/to/restart.sh
```
- 使用 `sudo update-rc.d restart defaults` 设置开机启动。
3. **权限设置**:
确保`restart.sh`脚本有适当的执行权限,可以用`chmod +x /path/to/restart.sh`。
完成上述步骤后,重启服务器或直接执行`sudo service restart restart`(取决于你的服务管理器)即可让脚本在下次启动时自动执行。记得将`/path/to/restart.sh`替换为实际脚本路径,`<your_user>`替换为你希望作为脚本运行用户的真实用户名。
return File(fileData.Description, "application/octet-stream");这个代码有问题吗
这段代码看起来没有问题。它将文件作为二进制数据流发送到客户端。
具体来说,它使用 File 方法以二进制流的形式返回 fileData.Description 中的文件。"application/octet-stream" 是 MIME 类型,表示这是一个包含任意二进制数据的文件。
如果有问题,则可能是 fileData.Description 中的文件不存在或无法访问,或者客户端无法正确处理这种类型的文件。
阅读全文