
Java笔试题汇总(华为OJ)
java笔试题汇总,方便以后学习和分享
Lizhifun
From Zero To Hero
展开
-
华为OJ——汽水瓶
题目描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?原创 2016-08-27 13:16:02 · 2851 阅读 · 0 评论 -
华为OJ——求最小公倍数
题目描述正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输入描述:输入两个正整数A和B。输出描述:输出A和B的最小公倍数。输入例子:5 7输出例子:35import java.util.*; public class Main{ public static原创 2016-08-27 11:13:02 · 2446 阅读 · 0 评论 -
华为OJ——输入整型数组和排序标识,对其元素按照升序或降序进行排序
题目描述输入整型数组和排序标识,对其元素按照升序或降序进行排序输入描述:1、输入需要输入的整型数个数输出描述:输出排好序的数字输入例子:81 2 4 9 3 55 64 250输出例子:1 2 3 4 9 25 55 64import java.util.*;public class Main{ public static原创 2016-08-26 19:49:19 · 2381 阅读 · 0 评论 -
华为OJ——等差数列
题目描述功能:等差数列 2,5,8,11,14。。。。输入:正整数N >0输出:求等差数列前N项和返回:转换成功返回 0 ,非法输入与异常返回-1 输入描述:输入一个正整数。输出描述:输出一个相加后的整数。输入例子:2输出例子:7方法一:import java.util.*;public class Ma原创 2016-08-26 18:24:57 · 1935 阅读 · 0 评论 -
华为OJ——自守数
题目描述自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数输入描述:int型整数输出描述:n以内自守数的数量。输入例子:2000输出例子:8import java.util.*;public class Main{原创 2016-08-26 18:15:04 · 2645 阅读 · 0 评论 -
华为OJ——记负均正
题目描述首先输入要输入的整数个数n,然后输入n个整数。输出为n个整数中负数的个数,和所有正整数的平均值,结果保留一位小数。输入描述:首先输入一个正整数n,然后输入n个整数。输出描述:输出负数的个数,和所有正整数的平均值。输入例子:512345输出例子:0 3import java.util.*;public class Ma原创 2016-08-26 17:43:49 · 1686 阅读 · 0 评论 -
华为OJ——在字符串中找出连续最长的数字串
题目描述样例输出输出123058789,函数返回值9输出54761,函数返回值5 接口说明函数原型: unsignedint Continumax(char** pOutputstr, char* intputstr)输入参数: char* intputstr 输入字符串;输出参数: char**原创 2016-08-25 11:02:25 · 2591 阅读 · 0 评论 -
华为OJ——201301 JAVA 题目2-3级(棋盘走法)
题目描述请编写一个函数(允许增加子函数),计算n x m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。输入描述:输入两个正整数输出描述:返回结果输入例子:22输出例子:6import java.util.*;public原创 2016-08-25 10:40:47 · 1785 阅读 · 1 评论 -
华为OJ——合法IP
题目描述现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此不需要用正号出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。现在需要你用程序来判断IP是否合法。输入描述:输入一个ip地址输出描述:返回判断原创 2016-08-25 10:20:36 · 1388 阅读 · 0 评论 -
华为OJ——扑克牌大小
题目描述扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A、2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王):3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER输入两手牌,两手牌之间用"-"连接,每手牌的每张牌以空格分隔,"-"两边没有空格,如:4 4 4 4-joker原创 2016-08-24 22:25:15 · 1298 阅读 · 0 评论 -
华为OJ——密码强度等级
题目描述密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。 一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二、字母: 0 分: 没有字母 10 分: 全都是小(大)写字母原创 2016-08-24 21:44:50 · 1637 阅读 · 0 评论 -
华为OJ——求最大连续bit数
题目描述功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 输入: 一个byte型的数字 输出: 无 返回: 对应的二进制数字中1的最大连续数输入描述:输入一个byte数字输出描述:输出转成二进制之后连续1的个数输入例子:3输出例子:2原创 2016-08-24 20:39:55 · 1048 阅读 · 0 评论 -
华为OJ——字符串匹配
题目描述题目标题:判断短字符串中的所有字符是否在长字符串中全部出现 输入描述:输入两个字符串。第一个为短字符,第二个为长字符。输出描述:返回值:输入例子:bcabc输出例子:true这个题很简单,直接遍历短字符串中的每个字符,一旦出现长字符串中不存在的字符,立马判定结果为false,否则为trueimport java.原创 2016-08-24 16:55:03 · 1204 阅读 · 0 评论 -
华为OJ——整形数组合并
题目描述题目标题:将两个整型数组按照升序合并,并且过滤掉重复数组元素[注: 题目更新了。输出之后有换行]输入描述:输入说明,按下列顺序输入:1 输入第一个数组的个数2 输入第一个数组的数值3 输入第二个数组的个数4 输入第二个数组的数值输出描述:输出合并之后的数组输入例子:31 2 54-1 0 3 2输出例子:原创 2016-08-24 16:45:24 · 1301 阅读 · 0 评论 -
华为OJ——超长正整数相加
题目描述请设计一个算法完成两个超长正整数的加法。输入描述:输入两个字符串数字输出描述:输出相加后的结果,string型输入例子:999999999999999999999999999999999999999999999999991输出例子:10000000000000000000000000000000000000000000000原创 2016-08-24 16:08:11 · 1053 阅读 · 0 评论 -
华为OJ——尼科彻斯定理
题目描述验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 输入描述:输入一个int整数输出描述:输出分解后的string输入例子:6输出例子:31+33+35+37+39+41impo原创 2016-08-24 12:01:26 · 1258 阅读 · 0 评论 -
华为OJ——公共字串计算
题目描述题目标题:计算两个字符串的最大公共字串的长度,字符不区分大小写详细描述:接口说明原型:int getCommonStrLength(char * pFirstStr, char * pSecondStr);输入参数: char * pFirstStr //第一个字符串 char * pSecondS原创 2016-08-24 10:00:49 · 1033 阅读 · 1 评论 -
华为OJ——计算日期到天数转换
题目描述根据输入的日期,计算是这一年的第几天。。详细描述:输入某年某月某日,判断这一天是这一年的第几天?。输入描述:输入三行,分别是年,月,日输出描述:成功:返回outDay输出计算后的第几天; 失败:返回-1输入例子:20121231原创 2016-08-23 13:25:03 · 2306 阅读 · 0 评论 -
华为OJ——矩阵乘法
题目描述如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的: 原型:voidmatrix_multiply(int *m1,int *m2,int *r, int x, int y, int z);输入参数: int *m1:x行y列的矩原创 2016-08-23 09:54:42 · 964 阅读 · 0 评论 -
华为OJ——查找两个字符串a,b中的最长公共子串
题目描述查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。 输入描述:输入两个字符串输出描述:返回重复出现的字符输入例子:abcdefghijklmnopabcsafjklmnopqrstuvw输出例子:jklmnop方法一:import java.util.*;public class Main{ pu原创 2016-08-22 16:12:01 · 2437 阅读 · 0 评论 -
华为OJ——DNA序列
题目描述一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。输入描述:原创 2016-08-22 13:55:48 · 1381 阅读 · 0 评论 -
华为OJ——查找输入整数二进制中1的个数
题目描述请实现如下接口 public static int findNumberOf1(intnum) { /* 请实现 */ return 0; }譬如:输入5 ,5的二进制为101,输出2 输入描述:输入一个整数输出描述:计算整数二进制中1的个数输入例子:5原创 2016-08-16 18:04:19 · 872 阅读 · 0 评论 -
华为OJ——查找组成一个偶数最接近的两个素数
题目描述任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对 输入描述:输入一个偶数输出描述:输出两个素数输入例子:20输出例子:713思路:先找出满足条件的两个素数i和n-i,再运用循环来找出距离最近的那两个素数import java.util.Scann原创 2016-08-16 11:03:17 · 775 阅读 · 0 评论 -
华为OJ——找出字符串中第一个只出现一次的字符
题目描述找出字符串中第一个只出现一次的字符详细描述:接口说明原型:bool FindChar(char* pInputString, char* pChar);输入参数:char* pInputString:字符串输出参数(指针指向的内存区域保证有效):char* pChar:第一个只出现一次的字符如果无此字符 请原创 2016-08-16 10:34:32 · 1419 阅读 · 0 评论 -
华为OJ——输入n个整数,输出其中最小的k个
题目描述输入n个整数,输出其中最小的k个。详细描述:接口说明原型:bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray);输入参数: unsignedint uiInputNum //输入整数个数原创 2016-08-16 10:17:58 · 1700 阅读 · 0 评论 -
华为OJ——无线OSS-高精度整数加法
题目描述在计算机中,由于处理器位宽限制,只能处理有限精度的十进制整数加减法,比如在32位宽处理器计算机中,参与运算的操作数和结果必须在-231~231-1之间。如果需要进行更大范围的十进制整数加法,需要使用特殊的方式实现,比如使用字符串保存操作数和结果,采取逐位运算的方式。如下:9876543210 + 1234567890 = ?让字符串 num1="98765432转载 2016-08-15 16:31:55 · 1099 阅读 · 0 评论 -
华为OJ——iNOC产品部--完全数计算
题目描述完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数count(int n),用于计算n以内(含n)完全数的个数。计算范围, 0原创 2016-08-15 16:03:56 · 1054 阅读 · 0 评论 -
华为OJ——(练习用)挑7
题目描述输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数输入描述:一个正整数N。(N不大于30000)输出描述:不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17.输入例子:20输出例子:3两种思路:1、依次遍历要检测数的每个位上的原创 2016-08-15 11:04:56 · 1232 阅读 · 0 评论 -
华为OJ——iNOC产品部-杨辉三角的变形
题目描述 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 11 4 10 16 19 16 10 4 1以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。转载 2016-08-14 20:50:16 · 1010 阅读 · 0 评论 -
华为OJ——按字节截取字符串
题目描述编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。 输入描述:输入待截取的字符串及长度输出描述:截取后的字符串输入例子:我ABC汉DEF6输出例子:我ABC原创 2016-08-14 15:55:35 · 718 阅读 · 0 评论 -
华为OJ——名字的漂亮度
题目描述给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。给出多个名字,计算每个名字最大可能的“漂亮度”。输入描述:整数N,后续N个名字输出描述:每个名称可能的最大漂亮程度输入例子:2zhang原创 2016-08-14 15:19:20 · 1216 阅读 · 0 评论 -
华为OJ——字符串加密
题目描述有一种技巧可以对数据进行加密,它使用一个单词作为它的密匙。下面是它的工作原理:首先,选择一个单词作为密匙,如TRAILBLAZERS。如果单词中包含有重复的字母,只保留第1个,其余几个丢弃。现在,修改过的那个单词死于字母表的下面,如下所示:A B C D E F G H I J K L M N O P Q R S T U V W X Y ZT R A I L B原创 2016-08-13 16:46:18 · 1084 阅读 · 0 评论 -
华为OJ——统计每个月兔子的总数
题目描述有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少? /** * 统计出兔子总数。 * * @param monthCount 第几个月 * @return 兔子总数 */ public static i原创 2016-08-13 17:05:38 · 3581 阅读 · 1 评论 -
华为OJ——求小球落地5次后所经历的路程和第5次反弹的高度
题目描述假设一个球从任意高度自由落下,每次落地后反跳回原高度的一半; 再落下, 求它在第5次落地时,共经历多少米?第5次反弹多高? /** * 统计出第5次落地时,共经过多少米? * * @param high 球的起始高度 * @return 英文字母的个数 */ public stat原创 2016-08-13 17:24:48 · 1128 阅读 · 0 评论 -
华为OJ——判断两个IP是否属于同一子网
题目描述子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。子网掩码与IP地址结构相同,是32位二进制数,其中网络号部分全为“1”和主机号部分全为“0”。利用子网掩码可以判断两台主机是否中同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。示例:I P 地址 192.168.0.1子网掩码 25原创 2016-08-13 18:20:22 · 1884 阅读 · 0 评论 -
华为OJ——输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
题目描述输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。输入描述:输入一行字符串,可以有空格输出描述:统计其中英文字符,空格字符,数字字符,其他字符的个数输入例子:1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\/;p0-=\\][输出例子:2631012import ja原创 2016-08-13 18:33:17 · 1389 阅读 · 0 评论 -
华为OJ——图片整理
题目描述Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。 输入描述:Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。输出描述:Lily的所有图片按照从小到大的顺序输出输入例子:Ihave1no原创 2016-08-13 11:08:27 · 808 阅读 · 0 评论 -
华为OJ——整数与IP地址间的转换
题目描述原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。举例:一个ip地址为10.0.3.193每段数字 相对应的二进制数10 000010100 000000003原创 2016-08-13 10:29:49 · 1269 阅读 · 0 评论 -
华为OJ——字符串加解密
题目描述1、对输入的字符串进行加解密,并输出。2加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;其他字符不做变化。3、解密方法为加密的逆过程。 接口描述: 实现接口,每个接口实现1原创 2016-08-12 12:11:45 · 685 阅读 · 0 评论 -
华为OJ——字符串反转
题目描述写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。例如:输入描述:输入N个字符输出描述:输出该字符串反转后的字符串输入例子:abcd输出例子:dcbaimport java.util.*;public class Main{ public static void main(String[] args) {原创 2016-08-10 14:39:49 · 931 阅读 · 0 评论