荣耀嵌入式软件开发工程师笔试4-22
公号:嵌入式未来
《嵌入式软件开发笔试与面试手册》:https://blog.nowcoder.net/zhuanlan/jvN8gj
《嵌入式软件笔试-2023年真题汇总》:https://blog.nowcoder.net/zhuanlan/0oDWVm
题目1:
给定一个正整数数组,最大为100个成员,从第一个成员开始,走到数组最后一个成员最少的步骤数,第一步必须从第一元素开始,1<=步长<len/2,第二步开始以所在成员的数字走相应的步数,如果目标不可达返回-1,只输出最少的步骤数量
输入描述
由正整数组成的数组,以空格分隔,数组长度小于100,请自行解析数据数量。
输出描述
正整数,表示最少的步数,如果不存在输出-1
输入
7 5 9 4 2 6 8 3 5 4 3 9
输出
2
#include <iostream> #include <vector> #include <sstream> #include <limits> using namespace std; int min_steps(const vector<int>& nums) { int n = nums.size(); vector<int> steps(n, numeric_limits<int>::max()); steps[0] = 0; for (int i = 0; i < n - 1; ++i) { for (int j = i + 1; j <= i + nums[i] && j < n; ++j) { steps[j] = min(steps[j], steps[i] + 1); } } return steps[n - 1] == numeric_limits<int>::max() ? -1 : steps[n - 1]; } int main() { string input; getline(cin, input); stringstream ss(input); int num; vector<int> nums; while (ss >> num) { nums.push_back(num); } int result = min_steps(nums); cout << result << endl; return 0; }
题目2:
在nxn方阵里填入1,2,… ,nxn,要求填成蛇形。元素1从右上角开始,顺时针排列,例如,n=4时方阵为: 18 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 n <= 8。
输入描述
大于1不超过8的方阵的维数。
输出描述
打印填充后的方阵,每个元素占3个字符位宽。
示例1
输入
4
输出
10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4
#include <iostream> #include <vector> using namespace std; int main() { int n; cin
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式软件笔试-24届真题汇总 文章被收录于专栏
本专栏主要发布嵌入式软件开发相关岗位2023年(2024届)的笔试真题(嵌入式软件开发、通用软件开发、C/C++软件开发、算法工程师、数据开发、测试开发等)主要是算法编程题,其中一些岗位笔试含有对应的选择题、填空题、简单题。