概述
今天,华为上研所实习招聘,来学校进行机试、性格测试、技术面试。
上机题目凭记忆如下:
1. 输入一个字符串,判断(1)首字母为大写,其他字符非大写字母;(2)其他字符包括符号空格等不能全部是非字母;满足条件则返回true,否则返回false;
eg. 输入: Hello world 返回: true
package study.edu.main;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
boolean bl = process(str);
System.out.println(bl);
}
private static boolean process(String str) {
char[] chs = str.toCharArray();
boolean firstLetterUp = (chs[0] >= 'A' && chs[0] <= 'Z');
if (firstLetterUp) {
for (int i = 1; i < chs.length; i++) {
if (chs[i] >= 'A' && chs[i] <= 'Z') {
return false;
}
}// 执行完后,保证后续无大写字母
for (int k = 1; k < chs.length; k++) {
if (chs[k] >= 'a' && chs[k] <= 'z') {
return true;
}
}// 执行完,保证后续有小写字母,不全是非字母
return false;
} else {
return false;
}
}
}
2、钱的兑换,有1、5、10、50、100五种面额的钱,给定一个钱的数目,换成最少数量的钱,比如55最少就是换成50和5两张
eg. 输入:67 输出:5
package study.edu.main;
import java.util.Scanner;
public class MainMoney {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
int re = process(num);
System.out.println(re);
}
private static int process(int num) {
int count=0;
count+=num/100;
count+=num%100/50;
count+=num%100%50/10;
count+=num%100%50%10/5;
count+=num%100%50%10%5;
return count;
}
}
3 垃圾短信发送者识别,这个题目有点儿长,记不太清楚了,暴力求解没有过所有的测试用例,拿了一部分的分数;题目意思大概就是,给定一些短信发送历史记录:
如:20 3
20 2
20 5
......
然后输出,针对第一行的两个信息,输出1 0;表示20是垃圾短息发送者,3不是;
垃圾短信发送着满足三个条件之一:(1)发送出去的短信,没有人回复;(2)发出某人的-某人回复的>N;(3)有特定的情形X...
晚上的面试,主要是问项目经历和一些基础的知识,把自己做过的东西清晰的描述出来即可。
总结:
机试C++要求用vs2005,Java要求用Eclipse ,使用Java会相对简单一些,很多封装好的类直接用,当然最终还是选自己熟悉的;
性格测试刷人不多,注意答题前后一致,有的人让做了两遍性格测,有的就被直接pass了,当然大部分都能过,不要偏激就行;
最后
以上就是负责毛巾为你收集整理的华为 java 机试_华为2014上研所实习校招机试 Java实现的全部内容,希望文章能够帮你解决华为 java 机试_华为2014上研所实习校招机试 Java实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复