笔试—百度嵌入式软件笔试
题目1
小红拿到了一个字符串,她想知道有多少个baidu型子串?
所谓baidu型字符串,指的是第一个、第四个字母是辅音,第2、3、5字符是元音,且每个字母都不相同的字符串。
baiduoxiaojiabankanjiaran
baidu和duoxi这两个是
输出2
#include<bits/stdc++.h> using namespace std; int baidu(string s){ int a=0; unordered_set<char> myset; for(int i=0;i<s.size();i++){ if(myset.count(s[i])==0){ myset.insert(s[i]); if(i==0 || i==3){ if(s[i]=='a' || s[i]=='e' || s[i]=='i' || s[i]=='o' || s[i]=='u'){ return a; } } else{ if(s[i]=='a' || s[i]=='e' || s[i]=='i' || s[i]=='o' || s[i]=='u'){ a++; } } } else{ return a; } } return a; } int main() { string str; getline(cin,str); int n=str.length(); int count=0; int a=0; for(int i=0;i<n-5;i++){ string temp=str.substr(i,5); a=baidu(temp); if(a==3){ count++; } } cout<<count<<endl; return 0; }
题目2
小红拿到了一个01串,她每次可以选择一个长度为2的连续子串
取反(0变1,1变0),她想知道,是否能在有限的操作次数内使得所有字符相同?
输入
3
101 //字符串
1111
1011
输出
Yes
Yes
No
说明
101——011——000——YES
0111——0001——NO
#include<bits/stdc++.h> using namespace std; bool change(string s){ int a0=0,b1=0;//统计0和1的个数 int n = s.size(); for(int i=0;i<n;i++){ if(s[i]=='0') a0++; else if(s[i]=='1') b1++; } //有一个为零的情况 if(a
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
嵌入式软件开发笔试与面试手册 文章被收录于专栏
本专栏主要是介绍嵌入式软件开发岗位的相关知识和学习攻略,为大家提供一份笔试与面试手册。包括有嵌入式软件开发岗位介绍与学习攻略;校园招聘和offer疑惑问题的介绍;在笔试方面,如何刷题为笔试作准备,提供往年笔试真题;在面试方面,提供相关知识的复习重点,提供面试真题。包括有:华为、蔚来、文远、大疆、三一、深信服、亚马逊、Intel、百度、科大讯飞、OPPO、京东、中兴、比特大陆|算能、美团等等