2016年华为校招上机考试试题答案

    
    【转载请注明出处】http://blog.csdn.net/guyuealian/article/details/50968368
     华为软件研发类都要上机考试,考试注意事项如下:

 华为上机考试试题:

 题目1:输入字符串,提取字符串串中大写字母,注意字符串中可能含有空格等其他字符。
     样例输入:9,AUStralia
     样例输出:AUS
     参考答案:
package huawei;
import java.util.*;
public class Main {public static void main(String args[]) {Scanner cin = new Scanner(System.in);String string = cin.nextLine();System.out.println(FindUpper(string));}public static String FindUpper(String str) {String out = "";char[] charArray = str.toCharArray();for (int i = 0; i < charArray.length; i++) {if (charArray[i] <= 90 && charArray[i] >= 65) {out = out + charArray[i];}}return out;}
}

题目2:数组排序
描述: 用户输入有符号整型数组(十进制),去掉重复值后,按照升序输出整型数组(十进制)。

    输入: 整数N,表示数组的个数;N个整数,整数之间以空格隔开
    输出: 去掉重复后,按照升序输出数组
    样例输入:4 6 3 3 9 
    样例输出:3 4 6 9
    参考答案:

package paixu;
import java.util.*;
public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner cin = new Scanner(System.in);ArrayList<Integer> al = new ArrayList<Integer>();String[] srr = cin.nextLine().split(" ");for (int i = 1; i <= Integer.parseInt(srr[0]); i++) {al.add(Integer.parseInt(srr[i]));}Main a = new Main();a.bubble(al);}public void bubble(ArrayList<Integer> all) {int len = all.size();boolean flag = false;// 使用冒泡法,实现升序排序for (int i = 1; i <= len; i++) {for (int j = 1; j <= len - i; j++) {Integer a1 = all.get(j - 1);Integer a2 = all.get(j);if (a1 > a2) {// 若前面的大于后面的,这交换次序,实现升序排序;all.set(j - 1, a2);all.set(j, a1);flag = true;// 如果有数据交换,则flag为true}}if (flag == false)break;}StringBuilder sb = new StringBuilder();sb.append(all.get(0) + " ");for (int i = 1; i < len; i++) {if (all.get(i) == all.get(i - 1))continue;sb.append(all.get(i) + " ");}System.out.println(sb.toString());}
}

【C++参考答案】
#include<iostream>
#include<string>
using namespace std;
void quickSort(vector<int>&a,int l,int r)
{   if(l<r){int i=l,j=r-1;int tmp=a[i];while(i<j){while(i<j&&a[j]>tmp)j--;if (i<j){a[i++]=a[j];}while(i<j&&a[i]<tmp)i++;if (i<j){a[j--]=a[i];}}a[i]=tmp;quickSort(a,l,i);quickSort(a,i+1,r);}
}
int main()
{   string str,tmpStr;getline(cin,str);vector<int>array;int len=str.size();int j=0;int i;for( i=0;i<len;){while(i<len&&str[i]!=' ')i++;while(j<i){tmpStr+=str[j];j++;}array.push_back(atoi(tmpStr.c_str()));i++;j=i;tmpStr.clear();}/* 快速排序  ; */int l=0;int r=array.size();quickSort(array,l,r);/*输出;*/for (int k=0;k<r;){int index=k+1;while(index<r&&array[index]==array[k]){index++;   }cout<<array[k]<<" ";k=index;}cout<<endl;system("pause");
}

题目3:给出一个字符串形式表达的二叉树,求出指定节点深度。
输入的树形结构字符串格式为:
    1、以父节点、左子树、右子树表示的二叉树;每个父节点不会超过两个子节点;
    2、树的每一个节点采用单个字母表示;树的层次采用数字表示,树根的层次为1,下一层为2,不会超过9层;
    3、字符串以“节点名称 层次数 节点名称 层次数…”的形式出现,同一个父节点下,先出现的为左子树。
    例如字符串“a1b2c2d3e3f3”生成一棵如下的树:
         a
       /    \
      b       c
     / \      / 
    d   e  f     
    节点a的深度为3,节点b的深度是2,节点f的深度是1
    输入:一行字符串,表示一个二叉树。一行字符串,一个字符一个节点,输入确保字符不会存在重复节点
    输出:指定节点的深度,如果节点不存在,返回0;整数之间用空格隔开
    例如:
    输入:a1b2c2d3e3f3
    ab
    输出:3 2
【Java参考答案】
package erchashu;
import java.util.*;
public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);String str1 = sc.nextLine();Main aa = new Main();int high = str1.charAt(str1.length()-1)-'1'+1;//�߶�for(int i=1;i<str1.length()/2;i++){int c2 = Integer.parseInt(str1.charAt(i*2-1)+"");if(high<c2){high=c2;}}int max = 1;//��������for(int i = 1;i<=high;i++){max *= 2;}char[] crr = new char[max];for(int i = 1;i<=str1.length()/2;i++){int c2 = str1.charAt(i*2-1)-'1'+1;char c1 = str1.charAt(i*2-2);int num =1;for(int j=1;j<c2;j++){num*=2;}while(crr[num]!='\u0000'){num++;}crr[num] = c1;}String str2 = sc.nextLine();StringBuilder sb = new StringBuilder();for (char c : str2.toCharArray()){int index = 0;for(index =0;index<crr.length;index++){if(crr[index]==c){ break;}}sb.append(aa.shendu(crr,index));sb.append(' ');}String ss = sb.toString();System.out.println(ss.substring(0,ss.length()));}public int shendu(char[] crr, int i) {if(i>=crr.length){return 0;}if(crr[i]=='\u0000'){return 0;}else{int a = shendu(crr,2*i);int b = shendu(crr,2*i+1);return (a>=b)? a+1:b+1;}}
}

【C++参考答案】
#include<iostream>
#include<string>
using namespace std;
int main()
{   string str,user_str;getline(cin,str);getline(cin,user_str);int len=str.size();int user_len=user_str.size();int maxDepth=atoi(&str[len-1]);//最大的深度;for (int i=0;i<user_len;i++){char user_tmp=user_str[i];for(int j=0;j<len;j++){if (user_tmp==str[j]){int position=atoi(&str[++j]);cout<<maxDepth-position+1<<" ";break;}if (j==len-1){cout<<0<<" ";break;}}}cout<<endl;system("pause");
}

2016年华为校招上机考试试题答案相关推荐

  1. 华为校招上机Java_2015华为校招上机考试编程Java

    B1 [测试自动化6]城市电话号码 java代码: import java.util.Scanner; public class PhoneNumber { public static void ma ...

  2. 2013华为实习生上机考试试题(一)

    请设计函数int getTest(char input[]) ,检测输入字符串中是否包含连续的或者离散的test,test只出现一次 题目概述:请设计函数,检测输入字符串中是否包含连续的或者离散的te ...

  3. 计算机一级office考试题库及答案,2016下半年计算机一级msoffice考试试题及答案

    2016下半年计算机一级msoffice考试试题及答案 (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 精品文档 2016下半年计算 ...

  4. 计算机二级考试机考试题,全国计算机二级考试C++上机考试试题及答案

    全国计算机二级考试C++上机考试试题及答案 全国计算机二级考试上机试题是一个比较难的模块,需要大家在考前不断的做一些练习试题,下面就是小编跟大家分享全国计算机二级考试C++上机考试试题及答案,欢迎大家 ...

  5. p计算机二级考试考什么,计算机二级考试C++上机考试试题

    计算机二级考试C++上机考试试题 试题的练习能够帮助考生们加深对知识点的理解和巩固,接下来应届毕业生小编为大家精心准备了计算机二级考试C++上机考试试题,希望能够给大家带来帮助! 一.程序改错题 使用 ...

  6. 计算机二级c类考试试题及答案,2016最新计算机二级C上机考试试题及答案

    2016最新计算机二级C上机考试试题及答案 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,使它能运行正确的`结果. 注意:不要改动其他语句,不得增行或删行,也不得更改程序的结构! 本程序要 ...

  7. 2017计算机考试题上机,2017年计算机二级上机考试试题及答案

    2017年计算机二级上机考试试题及答案 20世纪60年代中期之前的第一代计算机网络是以单个计算机为中心的远程联机系统.下面是小编整理的关于计算机二级上机考试试题,希望大家认真练习! 1[单选题] 一棵 ...

  8. 计算机一级考试试题app,2016年全国计算机一级考试试题附答案

    2016年全国计算机一级考试试题附答案 A."文件"菜单 B."编辑"菜单 C."查看"菜单 D."帮助"菜单 22.在 ...

  9. 2016年中国微型计算机,2016年全国计算机一级考试试题带答案

    2016年全国计算机一级考试试题带答案 选择题 1.微型计算机硬件系统中最核心的部件是( ). 答案:B A.主板 B.CPU C.内存储器 D.I/O设备 2.下列术语中,属于显示器性能指标的是( ...

最新文章

  1. UE4风格化场景设计入门指南 Stylized Station – The Environment Artist’s Survival Kit
  2. 华数软件测试岗位,重磅:字节跳动与华数共同研发的电视原创视频app已正式测试上线...
  3. 《 线性代数及其应用 (原书第4版)》—— 2.3 可逆矩阵的特征
  4. JS判断浏览器类型的方法【转】
  5. HDU ACM 1078 FatMouse and Cheese 记忆化+DFS
  6. Readiness 探测 - 每天5分钟玩转 Docker 容器技术(144)
  7. 【剑指offer】_08.数值的整数次方
  8. ajax无刷新提交表,Ajax无刷新提交表单和显示
  9. 笔记︱支持向量机SVM在金融风险欺诈中应用简述
  10. 区块链 链上脚本、智能合约和Dapp的关系区别
  11. 利用MATLAB进行二次曲线方程的正交变换化简
  12. 微信小程序篇(笔记1:wxParse富文本解析的使用)
  13. 注意力机制Attention Mechanism的数学原理
  14. HTML表格的单元格合并
  15. 计算机组成.就是它在运算.处理器CPU
  16. 【Learn and record】 天气现象选码原则
  17. vscode无法识别头文件“cannot open source file “gnu/stubs-64.h“”
  18. 基于Kinetis 60、HC-SR04超声测距模块的简易水情测量装置
  19. 让dedecms栏目页标题显示页码数
  20. porta rch_Smeerch.it

热门文章

  1. Http报头Accept与Content-Type的差别
  2. 递归用法之“海盗分赃难题”
  3. 何时才有Email发布功能
  4. Educational Codeforces Round 72 (Rated for Div. 2)
  5. 关于vue.js element ui 表单验证 this.$refs[formName].validate()的问题
  6. [JZOJ5863] 【NOIP2018模拟9.11】移动光标
  7. 基础 - jQuery选项卡
  8. iOS-在团队开发过程中控制代码版本
  9. [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传
  10. CSS分别设置Input样式(按input类型)