华为OJ中级
每天读点paper
这个作者很懒,什么都没留下…
展开
-
华为OJ(从单向链表中删除指定值的节点)
描述输入一个单向链表和一个节点的值,从单向链表中删除等于该值的节点,删除后如果链表中无节点则返回空指针。链表结点定义如下:struct ListNode{ int m_nKey; ListNode* m_pNext;};详细描述:本题为考察链表的插入和删除知识。链表的值不能重复构造过程,例如1 -> 23 -> 25 -> 14 -> 57 -> 2最后的链原创 2015-08-23 11:08:22 · 2772 阅读 · 1 评论 -
华为OJ(坐标移动)
描述开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。 输入: 合法坐标为A(或者D或者W或者S) + 数字(两位以内) 坐标之间以;分隔。 非法坐标点需要进行丢弃。如AA10; A1A; $%$; YAD; 等。 下面是一个简单的例子 如: A10;S20原创 2015-08-28 15:32:53 · 1481 阅读 · 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.2原创 2015-08-28 11:27:45 · 2574 阅读 · 0 评论 -
华为OJ(购物单)
述王强今天很开心,公司发给N元的年终奖。王强决定把年终奖用于购物,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件附件电脑打印机,扫描仪书柜图书书桌台灯,文具工作椅无如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有 0 个、 1 个或 2 个附件。附件不再有从属于自己的附件。王强想买的东西很多,为了不超出预算,他把每件物品规定原创 2015-08-18 18:11:12 · 3713 阅读 · 0 评论 -
华为OJ(字符串分隔)
描述•连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。知识点字符串运行时间限制10M内存限制128输入连续输入字符串(输入2次,每个字符串长度小于100)输出输出到长度为8的原创 2015-08-18 21:09:12 · 574 阅读 · 0 评论 -
华为OJ(走方格)
描述请编写一个函数(允许增加子函数),计算n x m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。知识点字符串,循环,函数,指针,枚举,位运算,结构体,联合体,文件操作,递归运行时间限制10M内存限制12原创 2015-08-19 11:48:57 · 949 阅读 · 0 评论 -
华为OJ(记负均正)
描述:从输入任意个整型数,统计其中的负数个数并求所有非负数的平均值。输入:输入任意个整数输出:输出负数个数以及所有非负数的平均值注意:当输入的数字的个数未知时,ivec的用法,以\0结束输入样例测试:输入:-13-4-7输出: 30.0原创 2015-08-18 22:32:39 · 1271 阅读 · 0 评论 -
华为OJ(Redraiment的走法)
描述题目描述 Redraiment是走梅花桩的高手。Redraiment总是起点不限,从前到后,往高的桩子走,但走的步数最多,不知道为什么?你能替Redraiment研究他最多走的步数吗? 样例输入62 5 1 5 4 5 样例输出3 提示Example: 6个点的高度各为 2 5 1 5 4 5 如从第1格开始走,最多为3步, 2 4 5 从第2格开始走,最多只有1步,5 而从第原创 2015-08-19 10:56:21 · 4635 阅读 · 0 评论 -
华为OJ(参数解析)
描述在命令行输入如下命令:xcopy /s c:\ d:\,各个参数如下: 参数1:命令字xcopy 参数2:字符串/s参数3:字符串c:\参数4: 字符串d:\请编写一个参数解析程序,实现将命令行各个参数解析出来。 解析规则: 1.参数分隔符为空格 2.对于用“”包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s “C:\program files” “原创 2015-08-19 20:06:03 · 865 阅读 · 0 评论 -
华为OJ(计算日期到天数转换)
输入:年 月 日输出:天数例如:输入:201212 31 输出:366闰年、平年分开处理。不多说,直接上代码:#include#includeusing namespace std;int leap[12]={0,31,29,31,30,31,30,31,31,30,31,30};int nonleap[12]={0,31,28,31,30原创 2015-08-19 21:16:18 · 1034 阅读 · 0 评论 -
华为OJ(扑克牌之24点游戏)
描述计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*), 除(/)四种运算法则计算得到整数24,本问题中,扑克牌通过如下字符或者字符串表示,其中,小写joker表示小王,大写JOKER表示大王: 3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER本程序要求实现:输入4张牌,输出一个算式,算式的原创 2015-08-19 15:38:27 · 2339 阅读 · 0 评论 -
华为OJ(成绩排序)
描述查找和排序题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 例示: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70原创 2015-08-19 21:49:56 · 702 阅读 · 0 评论 -
华为OJ(矩阵乘法计算量估计)
描述矩阵乘法的运算量与矩阵乘法的顺序强相关。例如: A是一个50×10的矩阵,B是10×20的矩阵,C是20×5的矩阵 计算A*B*C有两种顺序:((AB)C)或者(A(BC)),前者需要计算15000次乘法,后者只需要3500次。 编写程序计算不同的计算顺序需要进行的乘法次数 知识点字符串运行时间限制10M内原创 2015-08-20 22:28:55 · 2010 阅读 · 0 评论 -
华为OJ(查找两个字符串a,b中的最长公共子串)
描述查找两个字符串a,b中的最长公共子串。详细描述:查找两个字符串a,b中的最长公共子串。 接口设计及说明: /***************************************************************************** Description : 查找两个字符串a,b中的最长公共子串 Input Param : String str原创 2015-08-21 16:41:17 · 1259 阅读 · 0 评论 -
华为OJ(高精度整数加法)
描述在计算机中,由于处理器位宽限制,只能处理有限精度的十进制整数加减法,比如在32位宽处理器计算机中,参与运算的操作数和结果必须在-231~231-1之间。如果需要进行更大范围的十进制整数加法,需要使用特殊的方式实现,比如使用字符串保存操作数和结果,采取逐位运算的方式。如下:9876543210 + 1234567890 = ?让字符串 num1="9876543210",字符串 num2原创 2015-08-22 12:53:16 · 1064 阅读 · 0 评论 -
华为OJ(计算字符串的距离)
描述Levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。编辑距离的算法是首先由俄国科学家Levenshtein提出的,故又叫Levenshtein Distance。Ex:字符串A:abcdefg字符串B: abcdef通过增加或是删掉字符”g”的方式达到目的。原创 2015-08-22 19:58:39 · 2411 阅读 · 0 评论 -
华为OJ(四则运算)
真是怕啥来啥啊,这种题很愁人的,哎,不过还好,刚做过表达式求值,两道题的区别只是增加了中括号和大括号,刚好练练手啦,玩玩没想到,真是太麻烦了,现在只是解决了无负数输入的情况,对示例输入有负数情况还需要修改代码。o(╯□╰)o,放着以后再解决吧。描述请实现如下接口 /* 功能:四则运算 * 输入:strExpression:字符串格式的算术表达式,如:原创 2015-08-22 20:32:48 · 1731 阅读 · 0 评论 -
华为OJ(递推公式)
描述已知一个递推公式A[N+1] = A[N] * 2 + 2,且A[1] = 2,求A[N]的值 详细描述:接口说明原型:voidCalculateAN(unsigned n, char *pOutRes)输入参数:unsigned n 题目描述中的N输出参数:char *pOutRes A[N]的值。因为当n较大时,A原创 2015-08-28 19:52:33 · 1039 阅读 · 0 评论 -
华为OJ(笔画)
描述一笔画游戏是一个数学游戏 即平面上由多条线段构成的一个图形能不能一笔画成,使得在每条线段上都不重复?例如汉字‘日’和‘中’字都可以一笔画的,而‘田’和‘目’则不能。请编程实现一笔画:首先输入坐标系上的点数个数,然后输入点的坐标,请判断这张图是否可以一笔画出,并输出画线顺序 (每条线段必须经过一次,且只能经过一次。每个端点可以经过多次。)当有多种方式可以完成一笔画时,每一步都必须尽可能原创 2015-08-26 22:13:35 · 2278 阅读 · 0 评论 -
华为OJ(简单错误记录)
描述开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。 处理: 1、 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加; 2、 超过16个字符的文件名称,只记录文件的最后有效16个字符; 3、 输入的文件可能带路径,记录文件名称不能带路径。知识点字符串运行时间限制原创 2015-08-27 19:27:26 · 1325 阅读 · 0 评论 -
华为OJ(寻找最长等差数列)
寻找m-n范围内,最长等差素数数列。还未解决。原创 2015-08-17 21:20:38 · 957 阅读 · 0 评论 -
华为OJ(线性插值)
描述信号测量的结果包括测量编号和测量值。存在信号测量结果丢弃及测量结果重复的情况。 1.测量编号不连续的情况,认为是测量结果丢弃。对应测量结果丢弃的情况,需要进行插值操作以更准确的评估信号。 采用简化的一阶插值方法,由丢失的测量结果两头的测量值算出两者中间的丢失值。 假设第M个测量结果的测量值为A,第N个测量结果的测量值为B。则需要进行(N-M-1)个测量结果的插值处理。进行原创 2015-08-23 12:57:14 · 1601 阅读 · 0 评论 -
华为OJ(按字节截取字符串)
描述编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。 接口说明原型:public String cutString(String s, int length)知识点字符串运原创 2015-08-23 14:44:23 · 1227 阅读 · 0 评论 -
华为OJ(数独游戏-Sudoku)
描述问题描述:数独(Sudoku)是一款大众喜爱的数字逻辑游戏。玩家需要根据9X9盘面上的已知数字,推算出所有剩余空格的数字,并且满足每一行、每一列、每一个粗线宫内的数字均含1-9,并且不重复。输入:包含已知数字的9X9盘面数组[空缺位以数字0表示]输出:完整的9X9盘面数组知识点查找,搜索,排序运行时间限制10M内存限制原创 2015-08-23 21:50:56 · 3161 阅读 · 0 评论 -
华为OJ(MP3光标移动)
描述:MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲。为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌。 现在要实现通过上下键控制光标移动来浏览歌曲列表,控制逻辑如下:歌曲总数光标在第一首歌曲上时,按Up键光标挪到最后一首歌曲;光标在最后一首歌曲时,按Down键光标原创 2015-08-21 21:59:04 · 871 阅读 · 0 评论 -
华为OJ(迷宫问题)
描述定义一个二维数组N*M(其中2int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序原创 2015-08-24 21:52:49 · 2615 阅读 · 0 评论 -
华为OJ(统计每个月兔子的总数)
描述有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? /** * 统计出兔子总数。 * * @param monthCount 第几个月 * @return 兔子总数 */ public static int getTotalCount(int mon原创 2015-08-25 13:13:01 · 513 阅读 · 0 评论 -
华为OJ(整数与IP地址间的转换)
描述原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个长整数。举例:一个ip地址为10.0.3.193每段数字 相对应的二进制数10 000010100 000000003 00000011原创 2015-08-25 15:17:40 · 1115 阅读 · 0 评论 -
华为OJ(字符串运用-密码截取)
问题描述:Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),Ca原创 2015-08-19 17:04:37 · 806 阅读 · 0 评论 -
华为OJ(素数伴侣)
描述题目描述若两个正整数的和为素数,则这两个正整数称之为“素数伴侣”,如2和5、6和13,它们能应用于通信加密。现在密码学会请你设计一个程序,从已有的N(N为偶数)个正整数中挑选出若干对组成“素数伴侣”,挑选方案多种多样,例如有4个正整数:2,5,6,13,如果将5和6分为一组中只能得到一组“素数伴侣”,而将2和5、6和13编组将得到两组“素数伴侣”,能组成“素数伴侣”最多的方案称为“最佳原创 2015-08-25 20:17:22 · 4310 阅读 · 1 评论 -
华为OJ(查找兄弟单词)
描述题目描述 知识点查找运行时间限制10M内存限制128输入先输入字典中单词的个数,再输入n个单词作为字典单词。输入一个单词,查找其在字典中兄弟单词的个数再输入数字n输出根据输入,输出查找到的兄弟单词的个数输出指定的第n个兄弟单词原创 2015-08-25 21:12:11 · 2791 阅读 · 2 评论 -
华为OJ(字符串合并处理)
描述按照指定规则对输入的字符串进行处理。详细描述:将输入的两个字符串合并。对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序。这里的下标意思是字符在字符串中的位置。对排训后的字符串进行操作,如果字符为‘0’——‘9’或者‘A’——‘F’或者‘a’——‘f’,则对他们所代表的16进制的数进行BIT倒序的操作,并转换为相应的大写字符。如字符为‘4’,为0100原创 2015-08-25 18:17:54 · 3517 阅读 · 0 评论 -
华为OJ(删除字符串中出现次数最少的字符)
描述: 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。知识点: 字符串 题目来源: 内部整理 练习阶段: 中级 运行时间限制: 无限制内存限制: 无限制输入: 字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。输出原创 2015-08-27 13:16:14 · 577 阅读 · 0 评论 -
华为OJ(密码验证合格程序)
描述密码要求: 1.长度超过8位 2.包括大小写字母.数字.其它符号,以上四种至少三种 3.不能有相同长度超2的子串重复 说明:长度超过2的子串知识点字符串,数组运行时间限制0M内存限制0输入一组或多组长度超过2的子符串。每组占一行输出原创 2015-08-27 13:49:59 · 931 阅读 · 0 评论 -
华为OJ(汽水瓶)
描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?原创 2015-08-27 13:27:55 · 687 阅读 · 0 评论 -
华为OJ(字符串排序)
描述编写一个程序,将输入字符串中的字符按如下规则排序。规则1:英文字母从A到Z排列,不区分大小写。 如,输入:Type 输出:epTy规则2:同一个英文字母的大小写同时存在时,按照输入顺序排列。 如,输入:BabA 输出:aABb规则3:非英文字母的其它字符保持原来的位置。 如,输入:By?e 输出:Be?y样例: 输入: A Famous Saying:原创 2015-08-26 22:06:13 · 2448 阅读 · 0 评论 -
华为OJ(表达式求值)
描述给定一个字符串描述的算术表达式,计算出结果值。输入字符串长度不超过100,合法的字符包括”+, -, *, /, (, )”,”0-9”,字符串内容的合法性及表达式语法的合法性由做题者检查。本题目只涉及整型计算。 /* 功能: 对输入的字符串表达式进行求值计算,并输出结果。 输入:String inputString:表达式字符串 返原创 2015-08-22 15:21:36 · 2372 阅读 · 1 评论