华为OJ
文章平均质量分 51
华为世界500强,她提供了一个软件开发者基础编程能力训练的OJ平台,通过这个平台,可以提高软件开发者程能力,同时对入职华为有加分作用。本专栏就是对OJ练习的总结,和大家一起分享,共同进步。
Wang-Junchao
这个作者很懒,什么都没留下…
展开
-
【华为OJ】【107-24点运算】
【华为OJ】【算法总篇章】【华为OJ】【107-24点运算】【工程下载】题目描述计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*), 除(/)四种运算法则计算得到整数24,本问题中,扑克牌通过如下字符或者字符串表示,其中,小写joker表示小王,大写JOKER表示大王: 3 4 5 6 7 8 9 10 J Q K A 2 joker原创 2016-05-25 07:15:30 · 5010 阅读 · 5 评论 -
【华为OJ】【106-Sudoku-Java】
【华为OJ】【算法总篇章】【华为OJ】【106-Sudoku-Java】【工程下载】题目描述问题描述:数独(Sudoku)是一款大众喜爱的数字逻辑游戏。玩家需要根据9X9盘面上的已知数字,推算出所有剩余空格的数字,并且满足每一行、每一列、每一个粗线宫内的数字均含1-9,并且不重复。输入:包含已知数字的9X9盘面数组[空缺位以数字0表示]输出:完整的9X9盘面数组输入描述包含已知数字的9原创 2016-05-25 07:11:40 · 2760 阅读 · 3 评论 -
【华为OJ】【105-人民币转换】
【华为OJ】【算法总篇章】【华为OJ】【105-人民币转换】【工程下载】题目描述考试题目和要点:1、中文大写金额数字前应标明“人民币”字样。中文大写金额数字应用壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿、元、角、分、零、整等字样填写。(30分)2、中文大写金额数字到“元”为止的,在“元”之后,应写“整字,如¥ 532.00应写成“人民币伍佰叁拾贰元整”。在”角“和”分“后面不写”整字原创 2016-05-25 07:06:13 · 3187 阅读 · 0 评论 -
【华为OJ】【104-201301JAVA题目0-1级】
【华为OJ】【算法总篇章】【华为OJ】【104-201301JAVA题目0-1级】【工程下载】题目描述编写一个函数,传入一个int型数组,返回该数组能否分成两组,使得两组中各元素加起来的和相等,并且,所有5的倍数必须在其中一个组中,所有3的倍数在另一个组中(不包括5的倍数),能满足以上条件,返回true;不满足时返回false。输入描述输入输入的数据个数输出描述返回true或者false输原创 2016-05-23 06:37:23 · 2651 阅读 · 0 评论 -
【华为OJ】【103-扑克牌大小】
【华为OJ】【算法总篇章】【华为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输入两手牌,两手牌之间用"-"连接,每手牌的每张牌以空格分隔,"-原创 2016-05-23 06:29:51 · 3608 阅读 · 0 评论 -
【华为OJ】【102-二维数组操作】
【华为OJ】【算法总篇章】【华为OJ】【102-二维数组操作】【工程下载】题目描述有一个数据表格为二维数组(数组元素为int类型),行长度为ROW_LENGTH,列长度为COLUMN_LENGTH。对该表格中数据的操作可以在单个单元内,也可以对一个整行或整列进行操作,操作包括交换两个单元中的数据;插入某些行或列。请编写程序,实现对表格的各种操作,并跟踪表格中数据在进行各种操作时,初始数据在表格原创 2016-05-23 06:24:37 · 2494 阅读 · 0 评论 -
【华为OJ】【101-将真分数分解为埃及分数】
【华为OJ】【算法总篇章】【华为OJ】【101-将真分数分解为埃及分数】【工程下载】题目描述分子为1的分数称为埃及分数。现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数。如:8/11 = 1/2+1/5+1/55+1/110。输入描述输入一个真分数,String型输出描述输出分解后的string输入例子8/11输出例子1/2+1/5+1/55+1/110算法实现原创 2016-05-23 06:20:00 · 2949 阅读 · 0 评论 -
【华为OJ】【100-配制文件恢复】
【华为OJ】【算法总篇章】【华为OJ】【100-配制文件恢复】【工程下载】题目描述有6条配置命令,它们执行的结果分别是:命令 执行reset reset whatreset board board faultboard add where to addboard delet n原创 2016-05-22 09:14:04 · 3652 阅读 · 1 评论 -
【华为OJ】【099-MP3光标位置】
【华为OJ】【算法总篇章】【华为OJ】【099-MP3光标位置】【工程下载】题目描述MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲。为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌。现在要实现通过上下键控制光标移动来浏览歌曲列表,控制逻辑如下:歌曲总数<=4的时候,不需要翻页,只是挪动光标位置。光标在第一首歌曲上时,原创 2016-05-22 09:08:19 · 2032 阅读 · 0 评论 -
【华为OJ】【098-矩阵乘法计算量估算】
【华为OJ】【算法总篇章】【华为OJ】【098-矩阵乘法计算量估算】【工程下载】题目描述矩阵乘法的运算量与矩阵乘法的顺序强相关。例如: A是一个50×10的矩阵,B是10×20的矩阵,C是20×5的矩阵计算A*B*C有两种顺序:((AB)C)或者(A(BC)),前者需要计算15000次乘法,后者只需要3500次。编写程序计算不同的计算顺序需要进行的乘法次数输入描述输入多行,先输入要计原创 2016-05-22 09:04:38 · 2717 阅读 · 0 评论 -
【华为OJ】【097-24点游戏算法】
【华为OJ】【算法总篇章】【华为OJ】【097-24点游戏算法】【工程下载】题目描述给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利输入:4个1-10的数字。[数字允许重复,测试用例保证无异常数字]输出:true or false输入描述输入4个int整数输出描述返回能否得到24点,能输出true,不能输出false输入例子7 2 1 10输出例子true算法实现imp原创 2016-05-22 09:00:50 · 2899 阅读 · 0 评论 -
【华为OJ】【096-表达式求值】
【华为OJ】【算法总篇章】【华为OJ】【096-表达式求值】【工程下载】题目描述给定一个字符串描述的算术表达式,计算出结果值。输入字符串长度不超过100,合法的字符包括”+, -, *, /, (, )”,”0-9”,字符串内容的合法性及表达式语法的合法性由做题者检查。本题目只涉及整型计算。输入描述输入算术表达式输出描述计算出结果值输入例子400+5输出例子405算法实现import原创 2016-05-22 08:54:47 · 3026 阅读 · 0 评论 -
【华为OJ】【095-四则运算】
【华为OJ】【算法总篇章】【华为OJ】【095-四则运算】【工程下载】题目描述请实现如下接口 /* 功能:四则运算 * 输入:strExpression:字符串格式的算术表达式,如: "3+2*{1+2*[-4/(8-6)+7]}" * 返回:算术表达式的计算结果 */ public static int calculate(String str原创 2016-05-21 06:48:27 · 2191 阅读 · 0 评论 -
【华为OJ】【094-多线程】
【华为OJ】【算法总篇章】【华为OJ】【094-多线程】【工程下载】题目描述问题描述:有4个线程和1个公共的字符数组。线程1的功能就是向数组输出A,线程2的功能就是向字符输出B,线程3的功能就是向数组输出C,线程4的功能就是向数组输出D。要求按顺序向数组赋值ABCDABCDABCD,ABCD的个数由线程函数1的参数指定。[注:C语言选手可使用WINDOWS SDK库函数]接口说明:void in原创 2016-05-21 06:42:02 · 6836 阅读 · 1 评论 -
【华为OJ】【093-从单向链表中删除指定值的节点】
【华为OJ】【算法总篇章】【华为OJ】【093-从单向链表中删除指定值的节点】【工程下载】题目描述输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};详细描述:本题为考察链表的插入和删除知识原创 2016-05-21 06:35:41 · 1992 阅读 · 0 评论 -
【华为OJ】【092-学英语】
【华为OJ】【算法总篇章】【华为OJ】【092-学英语】【工程下载】题目描述Jessi初学英语,为了快速读出一串数字,编写程序将数字转换成英文:如22:twenty two,123:one hundred and twenty three。说明数字为正整数,长度不超过十位,不考虑小数,转化结果为英文小写;输出格式为twenty two;非法数据请返回“error”;关键字提示:and,bi原创 2016-05-21 06:31:53 · 6337 阅读 · 0 评论 -
【华为OJ】【091-数据分类处理】
【华为OJ】【算法总篇章】【华为OJ】【091-数据分类处理】【工程下载】题目描述信息社会,有海量的数据需要分析处理,比如公安局分析身份证号码、QQ用户、手机号码、银行帐号等信息及活动记录。采集输入大数据和分类规则,通过大数据分类处理程序,将大数据分类输出。输入描述:一组输入整数序列I和一组规则整数序列R,I和R序列的第一个整数为序列的个数(个数不包含第一个整数);整数范围为0~0xFFFFF原创 2016-05-21 06:25:57 · 6279 阅读 · 1 评论 -
【华为OJ】【090-合唱队】
【华为OJ】【算法总篇章】【华为OJ】【090-合唱队】【工程下载】题目描述计算最少出列多少位同学,使得剩下的同学排成合唱队形说明: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,则他们的身高满足存在i(1<=i<=K)使得T1原创 2016-05-20 07:14:27 · 2520 阅读 · 0 评论 -
【华为OJ】【089-DNA序列】
【华为OJ】【算法总篇章】【华为OJ】【089-DNA序列】【工程下载】题目描述一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出原创 2016-05-20 07:09:22 · 2246 阅读 · 0 评论 -
【华为OJ】【088-按字节截取字符串】
【华为OJ】【算法总篇章】【华为OJ】【088-按字节截取字符串】【工程下载】题目描述编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。输入描述输入待截取的字符串及长度输出描述截取后的字符串输入例子我ABC汉DEF6输原创 2016-05-20 07:06:11 · 2028 阅读 · 0 评论 -
【华为OJ】【087-在字符串中找出连续最长的数字串】
【华为OJ】【算法总篇章】【华为OJ】【087-在字符串中找出连续最长的数字串】【工程下载】题目描述样例输出 输出123058789,函数返回值9 输出54761,函数返回值5输入描述输入一个字符串。输出描述输出字符串中最长的数字字符串和它的长度。输入例子abcd12345ed125ss123058789输出例子123058789,9算法实现import java.util原创 2016-05-20 07:00:13 · 2014 阅读 · 0 评论 -
【华为OJ】【086-密码强度等级】
【华为OJ】【算法总篇章】【华为OJ】【086-密码强度等级】【工程下载】题目描述密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二、字母: 0 分: 没有字母 10 分: 全都是小(大)写字母 20 分: 大小写混合字母原创 2016-05-20 06:53:50 · 2351 阅读 · 0 评论 -
【华为OJ】【084-求最大连续bit数】
【华为OJ】【算法总篇章】【华为OJ】【084-求最大连续bit数】【工程下载】题目描述功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1输入: 一个byte型的数字输出: 无返回: 对应的二进制数字中1的最大连续数输入描述输入一个byte数字输出描述输出转成二进制之后连续1的个数输入例子3输出例子2算法实现import ja原创 2016-05-19 06:43:04 · 2027 阅读 · 0 评论 -
【华为OJ】【083-计算字符串的相似度】
【华为OJ】【算法总篇章】【华为OJ】【083-计算字符串的相似度】【工程下载】题目描述对于不同的字符串,我们希望能有办法判断相似程度,我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法如下:1 修改一个字符,如把“a”替换为“b”。2 增加一个字符,如把“abdd”变为“aebdd”。3 删除一个字符,如把“travelling”变为“traveling”。比如,对于“a原创 2016-05-19 06:38:21 · 2086 阅读 · 0 评论 -
【华为OJ】【082-字符串通配符】
【华为OJ】【算法总篇章】【华为OJ】【082-字符串通配符】【工程下载】题目描述问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求: 实现如下2个通配符: *:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同) ?:匹配1个字符输入描述通配符表达式;一组字符串。输出描原创 2016-05-19 06:31:16 · 2309 阅读 · 0 评论 -
【华为OJ】【081-查找两个字符串a,b中的最长公共子串】
【华为OJ】【算法总篇章】【华为OJ】【081-查找两个字符串a,b中的最长公共子串】【工程下载】题目描述查找两个字符串a,b中的最长公共子串输入描述输入两个字符串输出描述返回重复出现的字符输入例子abcdefghijklmnopabcsafjklmnopqrstuvw输出例子jklmnop算法实现import java.util.Scanner;/** * Author: 王俊超原创 2016-05-19 06:26:29 · 2877 阅读 · 0 评论 -
【华为OJ】【080-放苹果】
【华为OJ】【算法总篇章】【华为OJ】【080-放苹果】【工程下载】题目描述把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入 每个用例包含二个整数M和N。0<=m<=10,1<=n<=10。<=n<=10<=m<=10样例输入 7 3样例输出 8/** * 计算放苹果方法数目原创 2016-05-18 07:28:13 · 1796 阅读 · 0 评论 -
【华为OJ】【079-查找组成一个偶数最接近的两个素数】
【华为OJ】【算法总篇章】【华为OJ】【079-查找组成一个偶数最接近的两个素数】【工程下载】题目描述任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对输入描述输入一个偶数输出描述输出两个素数输入例子20输出例子713算法实现import java.util.Scanner;/** * Author: 王俊超原创 2016-05-18 07:22:43 · 1634 阅读 · 0 评论 -
【华为OJ】【078-计算字符串的距离】
【华为OJ】【算法总篇章】【华为OJ】【078-计算字符串的距离】【工程下载】题目描述Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。Ex: 字符串A原创 2016-05-18 07:16:03 · 2043 阅读 · 0 评论 -
【华为OJ】【077-迷宫问题】
【华为OJ】【算法总篇章】【华为OJ】【077-迷宫问题】【工程下载】题目描述定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),如5 × 5数组下所示: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,原创 2016-05-18 07:09:48 · 3285 阅读 · 0 评论 -
【华为OJ】【076-蛇形矩阵】
【华为OJ】【算法总篇章】【华为OJ】【】【工程下载】题目描述题目说明 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。样例输入 5样例输出 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11输入描述输入正整数N(N不大于100)输出描述输出一个N行的蛇形矩阵。输入例子4输出例子1 3 6 102 5原创 2016-05-18 07:03:25 · 2371 阅读 · 0 评论 -
【华为OJ】【075-判断两个IP是否属于同一子网】
【华为OJ】【算法总篇章】【华为OJ】【075-判断两个IP是否属于同一子网】【工程下载】题目描述 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。 子网掩码与IP地址结构相同,是32位二进制数,其中网络号部分全为“1”和主机号部分全为“0”。利用子网掩码可以判断两台主机是否中同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主原创 2016-05-17 08:06:59 · 2889 阅读 · 0 评论 -
【华为OJ】【074-素数伴侣】
【华为OJ】【算法总篇章】【华为OJ】【074-素数伴侣】【工程下载】题目描述 若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5、6和1原创 2016-05-17 07:57:12 · 4210 阅读 · 1 评论 -
【华为OJ】【073-查找兄弟单词】
【华为OJ】【算法总篇章】【华为OJ】【073-查找兄弟单词】【工程下载】题目描述 输入描述先输入字典中单词的个数,再输入n个单词作为字典单词。输入一个单词,查找其在字典中兄弟单词的个数再输入数字n输出描述根据输入,输出查找到的兄弟单词的个数输入例子3abcbcacababc1输出例子2bca算法实现import java.util.*;/** * Author: 王原创 2016-05-17 07:51:08 · 2694 阅读 · 0 评论 -
【华为OJ】【072-火车进站】
【华为OJ】【算法总篇章】【华为OJ】【072-火车进站】【工程下载】题目描述给定一个正整数N代表火车数量,0<N<10,接下来输入火车入站的序列,一共N辆火车,每辆火车以数字1-9编号。要求以字典序排序输出火车出站的序列号思路: 此处所谓字典序排序的意思是这n辆火车有多少种出站的可能顺序(也就是数据结构中的栈有多少种出栈顺序)。思路为用三个变量分别存储待进站火车,站中火车和已出站火车,原创 2016-05-17 07:45:11 · 5131 阅读 · 2 评论 -
【华为OJ】【071-公共子串计算】
【华为OJ】【算法总篇章】【华为OJ】【071-公共子串计算】【工程下载】题目描述计算两个字符串的最大公共子串的长度,字符不区分大小写输入描述输出描述输入两个字符串输入例子asdfas werasdfaswer输出例子6算法实现import java.util.Arrays;import java.util.Scanner;/** * Author: 王俊超 * Date: 2016-原创 2016-05-17 07:36:34 · 1861 阅读 · 0 评论 -
【华为OJ】【070-记票统计】
【华为OJ】【算法总篇章】【华为OJ】【070-记票统计】【工程下载】题目描述请实现接口:unsigned int AddCandidate (char* pCandidateName);功能:设置候选人姓名输入: char* pCandidateName 候选人姓名输出:无返回:输入值非法返回0,已经添加过返回0 ,添加成功返回1Void Vote(char* pCandidateNa原创 2016-05-16 06:57:58 · 2069 阅读 · 0 评论 -
【华为OJ】【069-简单错误记录】
【华为OJ】【算法总篇章】【华为OJ】【069-简单错误记录】【工程下载】题目描述开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理: 1、 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加; 2、 超过16个字符的文件名称,只记录文件的最后有效16个字符; 3、 输入的文件可能带路径,记录文件名原创 2016-05-16 06:52:39 · 2602 阅读 · 0 评论 -
【华为OJ】【068-购物单】
【华为OJ】【算法总篇章】【华为OJ】【068-购物单】【工程下载】题目描述 王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子: 主件 附件 电脑 打印机,扫描仪 书柜 图书 书桌 台灯原创 2016-05-16 06:47:40 · 4632 阅读 · 2 评论 -
【华为OJ】【067-求最小公倍数】
【华为OJ】【算法总篇章】【华为OJ】【067-求最小公倍数】【工程下载】题目描述正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输入描述输入两个正整数A和B。输出描述输出A和B的最小公倍数。输入例子57输出例子35算法实现import java.util.Scanner;/** * Author: 王俊超 * Date:原创 2016-05-16 06:39:00 · 1892 阅读 · 0 评论