欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOCX文档下载
 

华为算法工程师笔试题

  • 资源ID:148462055       资源大小:17.27KB        全文页数:16页
  • 资源格式: DOCX        下载积分:15积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要15积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

华为算法工程师笔试题

华为算法工程师笔试题华为算法工程师笔试题HCNA认证包括但不限于:网络基础学问,流行网络的基本连接方法,基本的网络建立,基本的网络故障解除,华为路由交换设备的安装和调试。下面是我收集的华为算法工程师笔试题,希望大家仔细阅读!1.通过键盘输入一串小写字母(az)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。比如字符串;abacacde;过滤结果为;abcde;。要求实现函数:void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr); pInputStr: 输入字符串lInputLen: 输入字符串长度 pOutputStr: 输出字符串,空间已经开拓好,与输入字符串等长;只须要完成该函数功能算法,中间不须要有任何IO的输入输出示例输入:;deefd; 输出:;def;输入:;afafafaf; 输出:;af;输入:;pppppppp; 输出:;p;main函数已经隐藏,这里保留给用户的测试入口,在这里测试你的实现函数,可以调用printf打印输出当前你可以运用其他方法测试,只要保证最终程序能正确执行即可,该函数实现可以随意修改,但是不要变更函数原型。肯定要保证编译运行不受影响using namespace std;bool g_flag26;void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr)assert(pInputStr != NULL);int i = 0;if (pInputStr = NULL | lInputLen &lt;= 1)return;const char *p = pInputStr;while(*p != &#39;0&#39;)if (g_flag(*p - &#39;a&#39;)p+;elsepOutputStri+ = *p;g_flag*p - &#39;a&#39; = 1;p+;pOutputStri = &#39;0&#39;int main()memset(g_flag,0,sizeof(g_flag);char input = &quot;abacacde&quot;char *output = new charstrlen(input) + 1;stringFilter(input,strlen(input),output);cout&lt;<output<<endl; </output<<endl;delete output;return 0;2.通过键盘输入一串小写字母(az)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。压缩规则:1、仅压缩连续重复出现的字符。比如字符串&quot;abcbc&quot;由于无连续重复字符,压缩后的字符串还是&quot;abcbc&quot;。2、压缩字段的格式为&quot;字符重复的次数+字符&quot;。例如:字符串&quot;xxxyyyyyyz&quot;压缩后就成为&quot;3x6yz&quot;。要求实现函数:void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr); pInputStr: 输入字符串lInputLen: 输入字符串长度 pOutputStr: 输出字符串,空间已经开拓好,与输入字符串等长;只须要完成该函数功能算法,中间不须要有任何IO的输入输出示例输入:;cccddecc; 输出:;3c2de2c;输入:;adef; 输出:;adef;输入:;pppppppp; 输出:;8p;using namespace std;void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr)const char *p = pInputStr;int num = 1;int i = 0;p+;while(*p != NULL)while(*p = *(p-1)&amp;&amp; *p != NULL)num+;p+;if (num &gt; 1)int size = 0;int temp = num;while(num) /计算位数size+;num /= 10;num = 1;for (int j = size; j &gt; 0; j-)pOutputStri+j-1 = &#39;0&#39;+ temp%10;temp /= 10;i +=size;pOutputStri+ = *(p-1);p+;elsepOutputStri+ = *(p-1);p+;pOutputStri = &#39;0&#39;int main()char input = &quot;cccddecc&quot;char *output = new charstrlen(input) + 1;stringZip(input,strlen(input),output);cout&lt;<output<<endl; </output<<endl;return 0;3.通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。输入字符串的格式为:;操作数1 运算符 操作数2;,;操作数;与;运算符;之间以一个空格隔开。补充说明:1、操作数为正整数,不须要考虑计算结果溢出的状况。2、若输入算式格式错误,输出结果为;0;。要求实现函数:void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr); pInputStr: 输入字符串lInputLen: 输入字符串长度 pOutputStr: 输出字符串,空间已经开拓好,与输入字符串等长;只须要完成该函数功能算法,中间不须要有任何IO的输入输出示例输入:;4 + 7; 输出:;11;输入:;4 - 7; 输出:;-3;输入:;9 + 7; 输出:;0; 注:格式错误using namespace std;void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr)const char *input = pInputStr;char *output = pOutputStr;int sum = 0;int operator1 = 0;int operator2 = 0;char *temp = new char5;char *ope = temp;while(*input != &#39; &#39;) /获得操作数1sum = sum*10 + (*input+ - &#39;0&#39;);input+;operator1 = sum;sum = 0;while(*input != &#39; &#39;)*temp+ = *input+;input+;*temp = &#39;0&#39;if (strlen(ope) &gt; 1 )*output+ = &#39;0&#39;*output = &#39;0&#39;return;while(*input != &#39;0&#39;) /获得操作数2sum = sum*10 + (*input+ - &#39;0&#39;);operator2 = sum;sum = 0;switch (*ope)case &#39;+&#39;:itoa(operator1+operator2,pOutputStr,10);break;case &#39;-&#39;:itoa(operator1-operator2,pOutputStr,10);break;default:*output+ = &#39;0&#39;*output = &#39;0&#39;return;int main()char input = &quot;4 - 7&quot;char output = &quot; &quot;arithmetic(input,strlen(input),output);cout&lt;<output<<endl; </output<<endl;return 0;4.输入1-50个数字,求出最小数和最大数的和void sort(int a,int n);int main(void)char str100;int aN=0;gets(str); /要点1:动态的输入1-50个整数,不能确定个数,只能用字符串输入,然后分别出来int i=0;int j=0;int sign=1;while(stri!=&#39;0&#39;)if(stri!=&#39;,&#39;) /输入时要在半角输入if(stri = &#39;-&#39;) /要点:2:有负整数的输入/ i+; /易错点1sign=-1;else if(stri!=&#39;0&#39;) /不用else的话,负号也会减去&lsquo;0&rsquo;aj=aj*10 + stri-&#39;0&#39; /要点3:输入的可以是多位数i+;if(stri=&#39;,&#39; | stri=&#39;0&#39;) /这个推断是在i自加以后aj=aj*sign; /易错点2sign=1; /易错点3j+; /j就是a数组的个数 范围0到j-1sort(a,j);printf(&quot;Max number + Min number = %d&quot;,a0+aj-1);return 0;void sort(int a,int n) /选择排序int i,j;int k;int temp;for(i=0;i<n-1;i+) </n-1;i+)k=i;for(j=i+1;j<n;j+) </n;j+)if(ak&gt;aj)k=j;if(i!=k)temp = ak;ak = ai;ai = temp;for(i=0;i<n;i+) </n;i+)printf(&quot;%-5d&quot;,ai);puts(&quot;&quot;);本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第16页 共16页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页第 16 页 共 16 页

注意事项

本文(华为算法工程师笔试题)为本站会员(豆***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!