华为oj
hhq99
这个作者很懒,什么都没留下…
展开
-
华为oj:输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数
/*输入 输入一行字符串,可以有空格 输出 统计其中英文字符,空格字符,数字字符,其他字符的个数 样例输入 1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\/;p0-=\][ 样例输出 26 3 10 12*/ 华为oj测试的时候,一般输出都会采用换行格式,不然编译说格式错误,请大家注意#include<iostream>#include<s原创 2016-01-05 20:03:49 · 679 阅读 · 0 评论 -
华为oj:称砝码
/*现有一组砝码,重量互不相等,分别为m1、m2……mn;他们可取的最大数量分别为x1、x2……xn。现在要用这些砝码去称物体的重量,问能称出多少中不同的重量。 注: 称重重量包括0 输入 int n:n表示有多少组重量不同的砝码,1<=n<=10 int[] weight:表示n组砝码的重量,1<=mi<=10 int[] num:表示n组砝码的最大数量,1<=xi<=10 输出原创 2016-01-06 10:47:32 · 1404 阅读 · 0 评论 -
华为oj:挑7
/* 描述 输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37…70,71,72,73…)的个数 知识点 循环 运行时间限制 0M 内存限制 0 输入 一个正整数N。(N不大于30000) 输出 不大于N的与7有关的数字个数,例如输入20,与7有关的数字包括7,14,17. 样例输入 20 样例输出 3 思路分析:满足整除7的数和选取原创 2015-12-24 10:54:41 · 387 阅读 · 0 评论 -
华为OJ:名字的漂亮度
/* 描述 给出一个名字,该名字有26个字符串组成,定义这个字符串的“漂亮度”是其所有字母“漂亮度”的总和。 每个字母都有一个“漂亮度”,范围在1到26之间。没有任何两个字母拥有相同的“漂亮度”。字母忽略大小写。 给出多个名字,计算每个名字最大可能的“漂亮度”。 知识点 字符串 运行时间限制 0M 内存限制 0 输入 整数N,后续N个名字 N个字符串,每个表示一个名字 输原创 2015-12-24 10:13:35 · 414 阅读 · 0 评论 -
华为oj:图片管理
/*描述 Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。 知识点 字符串 运行时间限制 0M 内存限制 0 输入 Lily使用的图片包括”A”到”Z”、”a”到”z”、”0”到”9”。输入字母或数字个数不超过1024。 输出 Lily的所有图片按照从小到大的顺序输出 样例原创 2015-12-24 11:03:35 · 606 阅读 · 0 评论 -
华为OJ:合唱队
/* 计算最少出列多少位同学,使得剩下的同学排成合唱队形 说明:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足存在i(1<=i<=K)使得Tiincludedefine maxNum 1000int main(){ in原创 2015-12-24 11:07:57 · 560 阅读 · 0 评论 -
华为oj:字符串加解密
/* 描述 题目描述 1、对输入的字符串进行加解密,并输出。 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a; 当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0; 其他字符不做变化。 3、解密方法为加密的逆过程。 接口描述: 实现接口,每个接口实现1个基本操作: void Encrypt原创 2015-12-25 11:07:02 · 543 阅读 · 0 评论 -
华为oj:蛇形矩阵
/* 描述题目说明 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 样例输入 5 样例输出 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11 接口说明 原型 void GetResult(int Num, char * pResult); 输入参数: int Num:输入的正整数N 输出参数: int *原创 2015-12-25 12:39:14 · 737 阅读 · 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 Z T R A I L B Z E S原创 2015-12-26 19:16:48 · 853 阅读 · 0 评论 -
华为oj:判断两个IP是否属于同一个子网
/* 描述 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。 子网掩码与IP地址结构相同,是32位二进制数,其中网络号部分全为“1”和主机号部分全为“0”。利用子网掩码可以判断两台主机是否中同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。 示例: I P 地址 192.168.0.1 子网掩码 255.255原创 2015-12-27 11:33:06 · 1058 阅读 · 0 评论 -
华为oj:
/* 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 1 1 4 10 16 19 16 10 4 1以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数转载 2016-02-24 10:41:13 · 598 阅读 · 0 评论 -
华为oj:计算字符串最后一个单词的长度,单词用空格隔开
/* 描述 计算字符串最后一个单词的长度,单词以空格隔开。 知识点 字符串,循环 运行时间限制 0M 内存限制 0 输入 一行字符串,长度小于128。 输出 整数N,最后一个单词的长度。 样例输入 hello world 样例输出 5*/#include<iostream>#include<string>using namespace std;int main(){原创 2015-12-24 11:13:54 · 2139 阅读 · 0 评论 -
华为oj 初级 iNOC产品部-杨辉三角的变形
述 1 1 1 1 1 2 3 2 1 1 3 6 7 6 3 1 1 4 10 16 19 16 10 4 1 以上三角形的数阵,第一行只有一个数1,以下每行的每个数,是恰好是它上面的数,左上角数到右上角的数,3个数之和(如果不存在某个数,认为该数就是0)。 求第n行第一个偶数出现的位置。如原创 2017-03-03 09:54:15 · 227 阅读 · 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 < n <= 500000 返原创 2017-03-03 11:51:03 · 229 阅读 · 0 评论 -
华为oj初级 输入n个整数,输出其中最小的k个
描述 输入n个整数,输出其中最小的k个。 详细描述: 接口说明 原型: bool GetMinK(unsignedint uiInputNum, int * pInputArray, unsignedint uiK, int * pOutputArray); 输入参数: unsignedint uiInputNum //输入整数个数 int * pInputArray /原创 2017-03-03 14:52:39 · 313 阅读 · 0 评论 -
华为oj初级 找出字符串中第一个只出现一次的字符
描述 找出字符串中第一个只出现一次的字符 详细描述: 接口说明 原型: bool FindChar(char* pInputString, char* pChar); 输入参数: char* pInputString:字符串 输出参数(指针指向的内存区域保证有效): char* pChar:第一个只出现一次的字符 如果无此字符 请输出’.’知识点 字符串,循环 运行时间限制原创 2017-03-09 11:17:30 · 162 阅读 · 0 评论 -
华为oj初级 查找组成一个偶数最接近的两个素数
描述 任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对 请实现如下接口 public static class PrimePair { public int primeMin; public int primeMax; } public sta原创 2017-03-09 20:15:57 · 216 阅读 · 0 评论 -
华为oj初级 放苹果
描述 题目描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。输入 每个用例包含二个整数M和N。0<=m<=10,1<=n<=10。<=n<=10<=m<=10样例输入 7 3样例输出 8/** * 计算放苹果方法数目 * 输入值非法时返回-1 * 1 <= m,n <= 10<><= m原创 2017-03-09 20:29:56 · 273 阅读 · 0 评论 -
华为oj初级 查找输入整数二进制中1的个数
描述 请实现如下接口 public static int findNumberOf1(intnum) { /* 请实现 */ return 0; }譬如:输入5 ,5的二进制为101,输出2涉及知识点:位运算知识点 位运算 运行时间限制 10M 内存限制 128 输入 输入一个整数 输出 计算整数二进制中1的个数原创 2017-03-09 20:36:54 · 200 阅读 · 0 评论 -
华为oj初级 DNA序列
描述 一个DNA序列由A/C/G/T四个字母的排列组合组成。G和C的比例(定义为GC-Ratio)是序列中G和C两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的GC-Ratio可能是基因的起始点。 给定一个很长的DNA序列,以及要求的最小子序列长度,研究人员经常会需要在其中找出GC-Ratio最高的子序列。知识点 字符串 运行时间限制 10M原创 2017-03-09 20:55:29 · 297 阅读 · 0 评论 -
华为oj中级 购物单
描述 王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子: 主件 附件 电脑 打印机,扫描仪 书柜 图书 书桌 台灯,文具 工作椅 无 如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有 0 个、 1 个或 2 个附件。附件不再有从属于自己的附件。王强想买的东西转载 2017-03-20 13:21:12 · 300 阅读 · 0 评论 -
华为oj初级 矩阵乘法
描述 如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的: 2.bmp原型: voidmatrix_multiply(int *m1,int *m2,int *r, int x, int y, int z); 输入参数: int *m1:x行y列的矩阵(array1[x][y]) int原创 2017-03-10 11:08:06 · 213 阅读 · 0 评论 -
华为oj初级 字符串通配符
。现要求各位实现字符串通配符的算法。 要求: 实现如下2个通配符: *:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同) ?:匹配1个字符输入: 通配符表达式; 一组字符串。输出: 返回匹配的结果,正确输出true,错误输出false#include<iostream> #include<string> using namespace std; b原创 2017-03-10 14:44:07 · 196 阅读 · 0 评论 -
华为oj初级 24点游戏算法
描述 问题描述:给出4个1-10的数字,通过加减乘除,得到数字为24就算胜利 输入: 4个1-10的数字。[数字允许重复,测试用例保证无异常数字] 输出: true or false 知识点 循环 运行时间限制 10M 内存限制 128 输入 输入4个int整数 输出 返回能否得到24点,能输出true,不能输出false 样例输入 7 2 1 10 样例输原创 2017-03-10 10:29:33 · 672 阅读 · 0 评论 -
华为oj中级 坐标移动
描述 开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。输入:合法坐标为A(或者D或者W或者S) + 数字(两位以内)坐标之间以;分隔。非法坐标点需要进行丢弃。如AA10; A1A; %; YAD; 等。下面是一个简单的例子 如:A10;S20;W10;D30;X;原创 2017-03-20 16:47:42 · 320 阅读 · 0 评论 -
华为oj初级 百钱买白鸡
#include<iostream>#include<string>#include<vector>#define maxNum 100using namespace std;void calculate(int n) //i,j,k分别对应鸡翁,鸡母,鸡雏的个数 { for (int i = 0; i <= n / 5; ++i) { for (int原创 2017-03-10 15:09:13 · 299 阅读 · 0 评论 -
华为oj初级 公共子串
描述 题目标题: 计算两个字符串的最大公共字串的长度,字符不区分大小写 详细描述: 接口说明 原型: int getCommonStrLength(char * pFirstStr, char * pSecondStr); 输入参数: char * pFirstStr //第一个字符串 char * pSecondStr//第二个字符串知识点 字符串,查找 运原创 2017-03-10 15:35:19 · 235 阅读 · 0 评论 -
华为oj初级 尼科彻斯定理
描述 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 接口说明 原型:/* 功能: 验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 原型: int GetSequeOddNum(int m,char * pcSequeOdd原创 2017-03-10 16:09:35 · 314 阅读 · 0 评论 -
华为oj中级 识别有效的IP地址和掩码并进行分类统计
描述 请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。所有的IP地址划分为 A,B,C,D,E五类A类地址1.0.0.0~126.255.255.255; B类地址128.0.0.0~191.255.255.255; C类地址192.0.0.0~223.255.255.255;D类地址224.0.0.0~239.255.255.255;E转载 2017-03-20 17:17:36 · 586 阅读 · 0 评论 -
华为oj中级 简单错误记录
描述 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理: 1、 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加;2、 超过16个字符的文件名称,只记录文件的最后有效16个字符;3、 输入的文件可能带路径,记录文件名称不能带路径。知识点 字符串 运行时间限制 0M 内存限制 0 输入 一行或多行字符串。转载 2017-03-20 18:25:21 · 224 阅读 · 0 评论 -
华为oj中级 表达式求值
描述 给定一个字符串描述的算术表达式,计算出结果值。输入字符串长度不超过100,合法的字符包括”+, -, *, /, (, )”,”0-9”,字符串内容的合法性及表达式语法的合法性由做题者检查。本题目只涉及整型计算。/*功能: 对输入的字符串表达式进行求值计算,并输出结果。输入:String inputString:表达式字符串 返回: int :正常返回true,失败返回false*/原创 2017-03-28 09:51:34 · 546 阅读 · 0 评论 -
华为oj 初级 输出单向链表中倒数第k个结点
描述 输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针。 链表结点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext; }; 详细描述: 接口说明 原型: ListNode* FindKthToTail(ListNode* pListHead, unsig原创 2017-03-02 20:22:34 · 395 阅读 · 0 评论 -
华为oj初级 超长正整数相加
描述 请设计一个算法完成两个超长正整数的加法。接口说明/* 请设计一个算法完成两个超长正整数的加法。 输入参数: String addend:加数 String augend:被加数 返回值:加法结果 */ public String AddLongInteger(String addend, String augend) { /在这里实现功能/retu原创 2017-03-11 13:45:28 · 231 阅读 · 0 评论 -
华为oj初级 计算字符串的相似度
描述 对于不同的字符串,我们希望能有办法判断相似程度,我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法如下: 1 修改一个字符,如把“a”替换为“b”。 2 增加一个字符,如把“abdd”变为“aebdd”。 3 删除一个字符,如把“travelling”变为“traveling”。 比如,对于“abcdefg”和“abcdef”两个字符串来说,我们认为可以通过增加和减原创 2017-03-11 14:17:07 · 424 阅读 · 0 评论 -
华为oj初级 整形数组合并
描述 题目标题: 将两个整型数组按照升序合并,并且过滤掉重复数组元素 详细描述: 接口说明 原型: voidCombineBySort(int* pArray1,intiArray1Num,int* pArray2,intiArray2Num,int* pOutputArray,int* iOutputNum); 输入参数: int* pArray1 :整型数组1原创 2017-03-11 14:37:49 · 314 阅读 · 0 评论 -
华为oj初级 字符串匹配
描述 题目标题: 判断短字符串中的所有字符是否在长字符串中全部出现 详细描述: 接口说明 原型: boolIsAllCharExist(char* pShortString,char* pLongString); 输入参数: char* pShortString:短字符串 char* pLongString:长字符串知识点 字符串,循环,指针 运行时间限制 10原创 2017-03-11 14:57:19 · 227 阅读 · 0 评论 -
华为oj初级 将真分数分解为埃及分数
描述 分子为1的分数称为埃及分数。现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数。如:8/11 = 1/2+1/5+1/55+1/110。接口说明 /* 功能: 将分数分解为埃及分数序列 输入参数: String pcRealFraction:真分数(格式“8/11”) 返回值: String pcEgpytFraction:分原创 2017-03-11 15:26:31 · 311 阅读 · 0 评论 -
华为oj初级 统计大写字母个数
描述 找出给定字符串中大写字符(即’A’-‘Z’)的个数 接口说明 原型:int CalcCapital(String str); 返回值:int知识点 字符串 运行时间限制 10M 内存限制 128 输入 输入一个String数据 输出 输出string中大写字母的个数 需考虑字符串为空 如果为空输出0 样例输入 add123#$%#%#O原创 2017-03-11 15:30:04 · 290 阅读 · 0 评论 -
华为oj中级 高精度加法
描述 在计算机中,由于处理器位宽限制,只能处理有限精度的十进制整数加减法,比如在32位宽处理器计算机中, 参与运算的操作数和结果必须在-231~231-1之间。如果需要进行更大范围的十进制整数加法,需要使用特殊 的方式实现,比如使用字符串保存操作数和结果,采取逐位运算的方式。如下: 9876543210 + 1234567890 = ? 让字符串 num1=”9876543210”,字符串转载 2017-03-28 10:51:17 · 289 阅读 · 0 评论 -
华为oj中级 密码验证合格程序
描述 密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度超2的子串重复说明:长度超过2的子串知识点 字符串,数组 运行时间限制 0M 内存限制 0 输入 一组或多组长度超过2的子符串。每组占一行 输出 如果符合要求输出:OK,否则输出NG每行输出对应一组输入的结果;样例输入 021Abc9000 021Abc9Abc1 021原创 2017-03-21 14:18:53 · 295 阅读 · 0 评论