设为首页 收藏本站
查看: 1257|回复: 0

[经验分享] 华为机试

[复制链接]

尚未签到

发表于 2016-6-6 06:24:23 | 显示全部楼层 |阅读模式
华为机试


      9.17下午两点在大活开了华为宣讲会,鉴于简历已投,又不是现场笔试就没有跟过去听,xx和oo去了,xx还抽了个三等奖,貌似是什么上网设备,没搞清楚什么东西。

      9.18半夜两点多收到邀请机试的短信,幸亏早上起得早,还好没错过。10:00开始的机试,一共四道题,只需做三道。题目很简单,相信只要学过编程的人都会做,只是输入输出比较变态,多试几次就会通过。

      做的过程中需要注意:若用java语言,则类名必须为Main

  

题目 A: 首字母大写
  
时间限制:
10 Sec  内存限制:
128 MB
提交:
623  解决:
101

[提交
][状态
][讨论版
]


题目描述
  请编写一个main函数,它的功能是:将字符串中的所有单词的首字母改为大写,字符串中以空格分割各个单词,其他字符不变。



输入
  一个字符串。



输出
  所有单词的首字母改为大写的字符串。



样例输入

this is a Dog.


样例输出

This Is A Dog.


提示
  注意代码规范性。



地区
  西安研究所



产品线
  公共



阶段
  招聘



难度
  1级

答案

import java.util.Scanner;

public class Main {
public static void main(String[] args){
Main m = new Main();
Scanner sca = new Scanner(System.in);//注意java获取输入的方式
String s = sca.nextLine();//获取一行
String r = m.change(s);
System.out.println(r);
}
public String change(String s){
char[] s1 = s.toCharArray();
for(int i = 0; i < s1.length; i ++){
if(i == 0){
if(s1[0] >= 'a' && s1[0] <= 'z'){
s1[0] -= 32;//小写字符转为大写字符需要-32并强制类型转换为char
}
}
if(s1 == ' '){
if(s1[i + 1] >= 'a' && s1[i + 1] <= 'z'){
s1[i + 1] -= 32;
}
}
}
return new String(s1);
}
}
   

题目 B: 统计出现最多的数字

时间限制:
1 Sec  内存限制:
128 MB
提交:
931  解决:
156

[提交
][状态
][讨论版
]
题目描述
  输入一个长度小于等于256,大于0,且只包含数字的字符串,统计其中出现最多数字的个数。
  输出该数字及个数做成的字符串,格式:"数字+逗号+个数"。



输入
  输入一个长度小于等于256,大于0,且只包含数字的字符串



输出
  输出该数字及个数做成的字符串,格式:"数字+逗号+个数"。注意逗号为英文半角



样例输入

463618964


样例输出

6,3


提示
  



地区
  西安研究所



产品线
  公共



阶段
  招聘



难度
  2级

答案

import java.util.Scanner;

public class Main {
public static void main(String[] args){
Main m = new Main();
Scanner sca = new Scanner(System.in);
String s = sca.next();
String r = m.getR(s);
System.out.println(r);
}
public String getR(String s){
char[] s1 = s.toCharArray();
int count = 1;
int max = 0;
int pos = 0;
for(int i = 0; i < s1.length; i ++){
count = 1;
for(int j = i + 1; j < s1.length; j ++){
if(s1[j] == s1){
count ++;
}
}
if(max < count){
max = count;
pos = s1 - '0'; //字符转为int需要-48或者-'0'
}
}
String s2 = String.valueOf(pos) + "," + String.valueOf(max);
return s2;
}
}

 



题目 C: 挑7

时间限制:
1 Sec  内存限制:
128 MB
提交:
542  解决:
85

[提交
][状态
][讨论版
]
题目描述
  输出7和7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数



输入
  一个整数N。(N不大于30000)



输出
  不大于N的与7有关的数字个数。



样例输入

20


样例输出

3


提示
  只需要输出满足条件的数字的个数,不需要将这些数字输出



地区
  西安研究所



产品线
  公共



阶段
  招聘



难度
  1级

答案

import java.util.Scanner;
public class Main {
public static void main(String[] args){
Main m = new Main();
Scanner sca = new Scanner(System.in);
int n = sca.nextInt();
int r = m.getR(n);
System.out.println(r);
}
public int getR(int n){
int count = 0;
String s = null;
for(int i = 1; i <= n; i ++){
if(i % 7 == 0){
count ++;
}else{
s = String.valueOf(i);
if(s.contains("7")){
count ++;
}
}
}
return count;
}
}

   

题目 D: 统计大于均值的数字个数

时间限制:
10 Sec  内存限制:
128 MB
提交:
2212  解决:
392

[提交
][状态
][讨论版
]
题目描述
  编写一个函数,统计出具有n个元素的一维数组中大于等于所有元素平均值的元素的个数并返回。
  要求实现函数: int GetByondAvgNumber(int iArray[], int iLen);



输入
  int GetByondAvgNumber(int iArray[], int iLen) 【输入】iArray:整数数组,空间已经开辟好;iLen:数组长度



输出
  大于等于所有元素平均值的元素的个数



样例输入

1,2,3,4,5


样例输出

3


提示
  只需要完成该函数功能算法,中间不需要有任何IO的输入输出提示。请提交完整代码。



地区
  北京研究所



产品线
  公共



阶段
  招聘



难度
  1级




  
  答案:

public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Main m  = new Main();
int[] iArray = {1, 2, 3, 4, 5};
int iLen = iArray.length;
int a = m.GetByondAvgNumber(iArray, iLen);
System.out.println(a);
}
int GetByondAvgNumber(int iArray[], int iLen){
int sum = 0;
double avg = 0;
int count = 0;
if(iArray != null){
for(int i = 0; i < iLen; i ++){
sum += iArray;
}
avg = (double)sum/iLen;
for(int i = 0; i < iLen; i ++){
if(iArray >= avg){
count ++;
}
}
}
return count;
}
}

   

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-226721-1-1.html 上篇帖子: 华为面经 下篇帖子: 华为、中兴对比 [zz]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表