`

华为机试

 
阅读更多

华为机试

    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...)的个数

输入

一个整数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[i];
			}
			avg = (double)sum/iLen;
			for(int i = 0; i < iLen; i ++){
				if(iArray[i] >= avg){
					count ++;
				}
			}
		}
		return count;
	}

}
 

 

分享到:
评论

相关推荐

    华为机试一霸教你过华为机试.docx

    华为机试一霸教你过华为机试 华为机试是一种非常重要的考试形式,对于软件类岗位的招聘来说,机试的地位非常重要。机试之前,需要调整好自己的心态,不要觉得写程序很难,机试题很难,也不要去考虑,万一机试考到...

    华为机试参考题

    华为机试参考题中包含的编程问题,实质上是考察基本的编程能力和对特定算法的掌握。通过对这些题目进行分析,可以总结出以下知识点: 1. 字符串操作基础:在第一题中,考察了如何对字符串中的字符进行遍历和替换。...

    华为机试复习资料

    华为机试复习资料是针对想要在华为公司求职的程序员们准备的重要参考资料,它涵盖了华为历年来的面试编程题目以及相关的解题代码。这份资料的核心目的是帮助考生熟悉华为的面试流程,提高他们在技术面试中的表现,...

    2014华为机试个人整理(完成代码C++)

    本人在准备2014年华为机试的时候,进行整理的,代码全部运行成功。如有错误,请大家见谅。

    华为机试编程样题格式【重要】

    华为机试编程样题格式 华为机试编程样题是一种类似于算法设计的编程题目,主要考察应聘者的基本编程能力和算法设计能力。这些题目通常来自于leetcode、codewars、hackerRank等平台,涵盖了数组、链表、指针、字符串...

    教你如何过华为机试.docx

    华为机试算法题总结 本文主要讲述了华为机试的算法题总结,包括了经验分享和机试准备的建议。以下是从中提取的知识点: 1. 机试准备: 在机试之前,需要调整好自己的心态,不要觉得写程序很难,也不要去考虑万一...

    华为机试一霸教你过华为机试.doc

    ### 华为机试备考指南 #### 一、前言 随着华为等大型科技公司对软件工程师需求的不断增加,机试成为了筛选候选人的重要环节之一。本文档旨在为参加华为机试的同学提供一套全面的备考策略及技巧,帮助大家顺利通过...

    华为机试108题源码(题目&&解答)

    华为机试 ├─001 字符串最后一个单词长度 │ └─Source ├─002 计算字符个数 │ └─Source ├─003 明明的随机数 │ └─Source ├─004 字符串分隔 │ └─Source ├─005 进制转换 │ └─Source ├─006 质数...

    华为机试源代码

    这份“华为机试源代码”包含了一系列与数据结构和算法相关的挑战,如链表、二叉树以及背包问题,同时也涉及基础的算术操作。下面我们将深入探讨这些知识点。 首先,链表是一种基础的数据结构,它由一系列节点组成,...

    华为机试成功归来,与小伙伴们分享下经验

    ### 华为机试知识点分析 #### 一、华为机试背景及意义 华为作为全球领先的信息与通信技术(ICT)解决方案提供商,其机试环节是招聘过程中非常重要的一部分。通过机试,公司能够评估应聘者的编程能力和算法基础,...

    2014华为机试和面试资料整理

    ### 2014华为机试和面试资料整理 #### 题目1:求整型数组中的最小数和最大数之和 **题目描述**: 编写一个C语言程序,输入一个整型数组(数组长度不超过50),计算并输出数组中的最小数和最大数之和。如果数组中...

    华为机试题库

    ### 华为机试题库分析 #### 题目一:电话号码验证 这段代码的主要功能是验证输入的电话号码是否符合特定格式。具体来说,它检查电话号码是否以“86”开头,并且总长度为13位,其中除了开头的“86”,其余部分都是...

    华为机试题目 005

    华为机试题目。输入一个由随机数组成的数列(数列中每个数均是大于0的整数,长度已知),和初始计数值m。从数列首位置开始计数,计数到m后,将数列该位置数值替换计数值m,并将数列该位置数值出列,然后从下一位置...

    华为机试试题

    ### 华为机试试题解析 #### 一、评分系统实现 (cal_score函数) 在题目描述中提到了一个评分系统的实现方法。这里给出的是一个计算综合得分的函数`cal_score`。该函数接收三个参数:一个整型数组`score[]`用于存储...

    华为机试真题 2022最新

    【华为机试真题2022最新】是华为公司面试过程中的一系列编程题目,主要针对初、中级程序员进行技能考核。这些题目涵盖了C和C++两种编程语言,旨在检验应聘者的逻辑思维、字符串处理、字符计数以及数组操作等基本编程...

Global site tag (gtag.js) - Google Analytics