科大讯飞嵌入式软件开发正式批笔试
【嵌入式未来】
《嵌入式软件开发笔试与面试手册》:https://blog.nowcoder.net/zhuanlan/jvN8gj
《嵌入式软件笔试-2023年真题汇总》:https://blog.nowcoder.net/zhuanlan/0oDWVm
第一题:将企鹅击落水中最小的力
牛牛发明了一款破冰行动的游戏,假设在河面上,有n块紧密相连的冰块。标号1-n。将一只企鹅放到任意一个标号为K的冰块上,现在通过打破一些冰块来使得企鹅掉落河中,然而他无法打破企鹅所踩的冰块k。每个冰块都有不同的强度Ai ,所以需要一个等于Ai的力来打破冰。当冰块(两侧的冰块都没有与河两岸连接时,则冰块会掉落到河中。
冰块1和冰块4可以通过分别施加7和2的力来打破,此时企鹅所在的冰块2和冰块3一起掉落河中。所以企鹅将落下。所以,可以使企鹅掉落的最小力是2+7=9。
输入描述
第一行给出n,表示冰块的数量。第二行中,按顺序给出代表打破第i块冰块所需的力的Ai。题目保证企鹅所在的地方用-1表示,没有企鹅位于冰块1或冰块n的情况。
3<=n<=2*10^5
1<=Ai<=10^9
输出描述
输出可以击落企鹅到水中的最小力。
示例1
输入
5
7 -1 6 2 5
输出
9
#include <iostream> #include <vector> #include <climits> #include <algorithm> using namespace std; int main() { int n; cin >> n; vector<int> a(n); for (int i = 0; i < n; ++i) { cin >> a[i]; } for (int i = 0; i < n; ++i) { if (a[i] == -1) { int p1 = i - 1, p2 = i + 1; int min1 = INT_MAX, min2 = INT_MAX; while (p1 >= 0) { min1 = min(min1, a[p1--]); } while (p2 < n) { min2 = min(min2, a[p2++]); } cout << min1 + min2 <<
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式软件笔试-24届真题汇总 文章被收录于专栏
本专栏主要发布嵌入式软件开发相关岗位2023年(2024届)的笔试真题(嵌入式软件开发、通用软件开发、C/C++软件开发、算法工程师、数据开发、测试开发等)主要是算法编程题,其中一些岗位笔试含有对应的选择题、填空题、简单题。