华为机试
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[i] == ' '){
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[i]){
count ++;
}
}
if(max < count){
max = count;
pos = s1[i] - '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...)的个数
输入
输出
样例输入
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的输入输出提示。请提交完整代码。
地区
产品线
阶段
难度
答案:
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[i];
}
avg = (double)sum/iLen;
for(int i = 0; i < iLen; i ++){
if(iArray[i] >= avg){
count ++;
}
}
}
return count;
}
}
分享到:
相关推荐
华为机试一霸教你过华为机试。大菊厂招聘有三关,心理测试,机试,面试。
本人在准备2014年华为机试的时候,进行整理的,代码全部运行成功。如有错误,请大家见谅。
华为机试一霸教你过华为机试.doc
华为机试成功归来,与小伙伴们分享下经验
大师兄教你如何过华为机试
华为机试算法题总结 经验分享
华为机试 ├─001 字符串最后一个单词长度 │ └─Source ├─002 计算字符个数 │ └─Source ├─003 明明的随机数 │ └─Source ├─004 字符串分隔 │ └─Source ├─005 进制转换 │ └─Source ├─006 质数...
华为机试编程样题,全面,包含答题格式【重要】
里面有几十道华为历届考过的机试题,可供大家研究和参考,主要是里面的思想,只要理解透了里面的思想,非常有助于机试。
收集整理华为机试108题,目录清晰,内涵C、C++答案 适合初中级练手学习,短时突击
2014年华为机试资料以及本人面试经历,对于应聘华为很有用
华为机试代码,各种问题,链表合集,二叉树合集,背包问题等 比较难的问题,还有简单的加减乘除等
华为机试题目。输入一个由随机数组成的数列(数列中每个数均是大于0的整数,长度已知),和初始计数值m。从数列首位置开始计数,计数到m后,将数列该位置数值替换计数值m,并将数列该位置数值出列,然后从下一位置...
华为的历年题目和复习参考代码,有链表,排序,字符串等
2013华为最新机试 每个程序都成功运行
华为机试一霸教你过华为机试演讲稿..pdf
华为机试一霸教你过华为机试e-18页.pdf
整理了网上2014华为机试题,近几十个网页的资料,同时本人对每道题均进行了验证。并且对一些题目进行了更好的修正。希望对后来者有所帮助。 这些东西是本人连续整理3天的成果,如果下载,需要几个积分,大家见谅...