- 博客(63)
- 资源 (9)
- 收藏
- 关注
原创 c++ 归并排序
归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。#include using namespace std; int a[100]; void merge(int *a ,int
2017-09-15 22:56:12 425
原创 数字游戏
题目描述 小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选
2017-09-03 15:40:33 403
原创 小易喜欢的单词
题目描述 小易喜欢的单词具有以下特性: 1.单词每个字母都是大写字母 2.单词没有连续相等的字母 3.单词没有形如“xyxy”(这里的x,y指的都是字母,并且可以相同)这样的子序列,子序列可能不连续。 例如: 小易不喜欢"ABBA",因为这里有两个连续的'B' 小易不喜欢"THETXH",因为这里包含子序列"THTH" 小易不喜欢"ABACADA",因为这里包含子序列"AAAA"
2017-09-01 16:55:55 329
原创 【华为机试】称砝码
题目描述 现有一组砝码,重量互不相等,分别为m1,m2,m3…mn; 每种砝码对应的数量为x1,x2,x3...xn。现在要用这些砝码去称物体的重量,问能称出多少中不同的重量。 注: 称重重量包括0 方法原型:public static int fama(int n, int[] weight, int[] nums) 输入描述: 输入包含多组测试数据。 对于每组测试数据: 第一
2017-08-13 15:37:15 600
原创 【华为机试】字符串加密
题目描述 有一种技巧可以对数据进行加密,它使用一个单词作为它的密匙。下面是它的工作原理:首先,选择一个单词作为密匙,如TRAILBLAZERS。如果单词中包含有重复的字母,只保留第1个,其余几个丢弃。现在,修改过的那个单词属于字母表的下面,如下所示: A B C D E F G H I J K L M N O P Q R S T U VW X Y Z T R A I L B Z E S C
2017-08-12 13:52:28 1105
原创 【华为机试】无线OSS-高精度整数加法
题目描述 在计算机中,由于处理器位宽限制,只能处理有限精度的十进制整数加减法,比如在32位宽处理器计算机中, 参与运算的操作数和结果必须在-231~231-1之间。如果需要进行更大范围的十进制整数加法,需要使用特殊 的方式实现,比如使用字符串保存操作数和结果,采取逐位运算的方式。如下: 9876543210 + 1234567890 = ? 让字符串 num1="9876543210",
2017-08-12 11:26:02 666
原创 【华为机试】公共字串计算
题目描述 计算两个字符串的最大公共字串的长度,字符不区分大小写 详细描述: 接口说明 原型: int getCommonStrLength(char * pFirstStr, char * pSecondStr); 输入参数: char * pFirstStr //第一个字符串 char * pSecondStr//第二个字符串 输入描述: 输入两个字符串
2017-08-11 16:05:30 389 1
原创 【华为机试】字符串运用-密码截取
题目描述 Catcher 是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或baaab的加密形式),
2017-08-09 17:17:33 533
原创 【华为机试】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-08-09 14:32:45 458
原创 【华为机试】放苹果
题目描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。 输入 每个用例包含二个整数M和N。0 样例输入 7 3 样例输出 8 输入描述: 输入两个int整数 输出描述: 输出结果,int型 分析:输入整数m和n,分2种情况考虑: 1).至少有1个盘子为空,有f(m,n-1)种放法;
2017-08-09 10:37:39 445
原创 【华为机试】成绩排序
题目描述 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。 例示: Jack 70 peter 96 Tom 70 smith 67 从高到低成绩 peter 96 jack 70 Tom 70
2017-08-08 20:46:47 1114
原创 【华为机试】字符串加解密
题目描述 1、对输入的字符串进行加解密,并输出。 2加密方法为: 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a; 当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0; 其他字符不做变化。 3、解密方法为加密的逆过程。 接口描述: 实现接口,每个接口实现1个基本操作: void Encrypt (c
2017-08-08 16:13:11 441
原创 【华为机试】简单错误记录
题目描述 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。 处理: 1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并) 2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并) 3.输入的文件可能
2017-08-08 14:21:49 442
原创 前i位可被i整除的9位无重复数字的整数
题目:1~9的9位数字,每个数字只能出现一次,要求这样的一个9位的整数:其第一位能被1整除,前两位能被2整除、、、、、依次类推,前9位能被9整除。 分析:用递归的方法实现。递归出口是前i位不能被i整除,或当前位数为9,且能被9整除: //1~9组成不重复的9位整数,前1位可被1整除,前二位被2整除,依次类推; #include #include using namespace std; b
2017-08-07 10:35:42 708
原创 c++获取文件夹及子文件夹中文件
由于经常要用到获取文件夹中的文件路径,所以参考资料写了个程序供大家参考使用。很小的程序,有不懂的地方可以看注释。 程序:#include #include #include #include using namespace std; inline void getfileall(string path,vector &dirpath){ struct _finddata_t file
2017-08-02 21:02:59 3023
原创 【华为机试】求最大连续bit数
题目描述 功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1 输入:一个byte型的数字 返回: 对应的二进制数字中1的最大连续数 输入描述: 输入一个byte数字 输出描述: 输出转成二进制之后连续1的个数 示例1 输入 3 输出 2 方法一分析:直接判断最后一位是1还是0,是1个数加1,是0更新最大1个数。每次
2017-08-01 22:32:04 504
原创 【华为机试】字符串排序
题目描述 编写一个程序,将输入字符串中的字符按如下规则排序。 规则 1 :英文字母从 A 到Z 排列,不区分大小写。 如,输入: Type 输出:epTy 规则 2 :同一个英文字母的大小写同时存在时,按照输入顺序排列。 如,输入: BabA 输出: aABb 规则 3 :非英文字母的其它字符保持原来的位置。 如,输入: By?e 输出:
2017-08-01 15:49:17 1256
原创 【华为机试】图片整理
题目描述 Lily上课时使用字母数字图片教小朋友们学习英语单词,每次都需要把这些图片按照大小(ASCII码值从小到大)排列收好。请大家给Lily帮忙,通过C语言解决。 输入描述: Lily使用的图片包括"A"到"Z"、"a"到"z"、"0"到"9"。输入字母或数字个数不超过1024。 输出描述: Lily的所有图片按照从小到大的顺序输出 示例1 输入 Ihave1nose2hand
2017-08-01 09:27:42 403
原创 【华为机试】合唱队
题目描述 计算最少出列多少位同学,使得剩下的同学排成合唱队形 说明: N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足存在i(1Ti+1>......>TK。 你的任务是,已知所有N位同学的身高,计算最少需要几位同
2017-07-31 22:55:06 344
原创 【华为机试】按字节截取字符串
题目描述 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。 输入描述: 输入待截取的字符串及长度 输出描述: 截取后的字符串 分析一:先输出前n-1个字符,在看最后一个字符的ASCII是大于等于0的,还是小于0的,
2017-07-31 10:55:24 537
原创 【华为机试】字符统计
题目描述 如果统计的个数相同,则按照ASII码由小到大排序输出 。如果有其他字符,则对这些字符不用进行统计。 实现以下接口: 输入一个字符串,对字符中的各个英文字符,数字,空格进行统计(可反复调用) 按照统计个数由多到少输出统计结果,如果统计的个数相同,则按照ASII码由小到大排序输出 清空目前的统计结果,重新统计 调用者会保证: 输入的字符串以‘\0’结尾。 输入描述: 输入一
2017-07-30 21:15:49 250
原创 【华为机试】求解立方根
题目描述 •计算一个数字的立方根,不使用库函数 详细描述: 输入描述: 待求解参数 double类型 输出描述: 输入参数的立方根 也是double类型 示例1 输入 216 输出 6.0 分析:用的二分法,更快些,但题目还是有点问题的,因为结果要求保留一位小数,题目中没有说明。#include #include //floor()函数要用到此头文件; using
2017-07-30 17:34:37 1105
原创 【华为机试】找出字符串中第一个只出现一次的
题目描述 找出字符串中第一个只出现一次的字符 输入描述: 输入一个非空字符串 输出描述: 输出第一个只出现一次的字符,如果不存在输出-1 示例1 输入 asdfasdfo 输出 o 分析:遍历每一个字符,每个字符都和之后的字符一一对比,如果有重复的先把所以的重复字符删掉,之后在删掉本身,若没有重复直接输出。如果此题的字符串只是大小写字母,那么一个好的方法是先一遍遍历求出每个字
2017-07-29 16:51:27 323
原创 【华为机试】求最小公倍数
题目描述 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。 输入描述: 输入两个正整数A和B。 输出描述: 输出A和B的最小公倍数。 示例1 输入 5 7 输出 35 分析:最小公倍数等于2个数a,b的最大公约数k*(a/k)*(b/k); 程序:#include using namespace std;
2017-07-29 15:47:52 489
原创 【华为机试】输入n个整数,输出其中最小的k个
题目描述 输入n个整数,输出其中最小的k个。 输入描述: 输入说明 1 输入两个整数 2 输入一个整数数组 输出描述: 输出一个整数数组 示例1 输入 5 2 1 3 5 7 2 输出 1 2 方法一分析:用#include中的sort()进行排序,输出前k个数; #include #include #include using namespace std;
2017-07-29 15:20:30 641
原创 【华为机试】字符串合并处理
题目描述 按照指定规则对输入的字符串进行处理。 详细描述: 将输入的两个字符串合并。 对合并后的字符串进行排序,要求为:下标为奇数的字符和下标为偶数的字符分别从小到大排序。这里的下标意思是字符在字符串中的位置。 对排序后的字符串进行操作,如果字符为‘0’——‘9’或者‘A’——‘F’或者‘a’——‘f’,则对他们所代表的16进制的数进行BIT倒序的操作,并转换为相应的大写字符。如字符为‘
2017-07-27 18:12:03 736
原创 【华为机试】【中级】单词倒排
题目描述 对字符串中的所有单词进行倒排。 说明: 1、每个单词是以26个大写或小写英文字母构成; 2、非构成单词的字符均视为单词间隔符; 3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符; 4、每个单词最长20个字母; 输入描述: 输入一行以空格来分隔的句子 输出描述: 输出句子的逆序 示例1 输入 I
2017-07-27 12:39:33 635
原创 【华为机试】整数与IP地址间的转换
题目描述 原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数。 举例:一个ip地址为10.0.3.193 每段数字 相对应的二进制数 10 00001010 0 00000000 3 00000011 193 1
2017-07-27 10:04:28 643
原创 【华为机试】删除字符串中出现次数最少的字符
题目描述 实现删除字符串中出现次数最少的字符,若多个字符出现次数一样,则都删除。输出删除这些单词后的字符串,字符串中其它字符保持原来的顺序。 输入描述: 字符串只包含小写英文字母, 不考虑非法输入,输入的字符串长度小于等于20个字节。 输出描述: 删除字符串中出现次数最少的字符后的字符串。 示例1 输入abcdd 输出dd 分析:分三个步骤解决问题: 1).找到字符串中出现的
2017-07-26 09:45:19 323
原创 【华为机试】密码验证合格程序
题目描述 密码要求: 1.长度超过8位 2.包括大小写字母.数字.其它符号,以上四种至少三种 3.不能有相同长度超2的子串重复 说明:长度超过2的子串 输入描述: 一组或多组长度超过2的子符串。每组占一行 输出描述: 如果符合要求输出:OK,否则输出NG 输入 021Abc9000 021Abc9Abc1 021ABC9000 021$bc9000 输出 OK N
2017-07-25 22:04:05 513
原创 【华为机试】简单密码
题目描述 密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。 假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。 他是这么变换的,大
2017-07-25 17:17:22 446
原创 【华为机试】字串的连接最长路径查找
题目描述 给定n个字符串,请对n个字符串按照字典序排列。 输入描述: 输入第一行为一个正整数n(1≤n≤1000),下面n行为n个字符串(字符串长度≤100),字符串中只含有大小写字母。 输出描述: 数据输出n行,输出结果为按照字典序排列的字符串。 方法一分析:用插入法进行排序,注意要用到getchar()消除回车; #include #include #include usi
2017-07-25 16:15:48 380
原创 【华为机试】句子逆序
题目描述 将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I” 所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符 输入描述:将一个英文语句以单词为单位逆序排放。 输出描述:得到逆序的句子 输入 I am a boy 输出 boy a am I 方法一分析:先把整个字符串反过来,在把每个单词反过来。 #inclu
2017-07-25 12:04:43 322
原创 【华为机试】数字颠倒
题目描述 描述: 输入一个整数,将这个整数以字符串的形式逆序输出 程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001 输入描述: 输入一个int整数 输出描述: 将这个整数以字符串的形式逆序输出 输入 1516000 输出 0006151 方法一程序:先把数字转换为字符串,在把字符串首尾颠倒。 #include #include usi
2017-07-25 10:24:51 322
原创 Ubuntu16.04+caffe+digits安装配置
注:本文主要介绍的是如何在ubuntu16.04系统下安装caffe以及可视化工具digits,至于cuda和cudnn的安装配置在我前一篇文章http://blog.csdn.net/cdwxx1234/article/details/75136657已经介绍了,此文不再重复。不多说了,我们开始吧! 一.必要依赖包安装 sudo apt-get install build-essenti
2017-07-25 09:43:15 4671 1
原创 【华为机试】字符个数统计
题目描述 编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。 输入描述: 输入N个字符,字符在ACSII码范围内。 输出描述: 输出范围在(0~127)字符的个数。 分析:比较简单的方法是定义一个128大小的整形数组,当输入的字符的ACSII在0~127范围内,且是第一次出现的时候,个数加1。 程序:#include #in
2017-07-23 21:54:28 449
原创 【华为机试】提取不重复的整数
题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数。 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺序,返回一个不含重复数字的新的整数 输入 9876673 输出 37689 分析:从右到左依次提取不重复的数字,组成一个新的数字。把每位数字存放在数组中,每添加一位比较是否重复。 程序:#include #include
2017-07-23 21:10:10 284
原创 【华为机试】质数因子
题目:功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 ) 最后一个数后面也要有空格 输入描述:输入一个long型整数 输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。 输入:180 输出:2 23 3 5 分析:输入的数为n,用n依次除以2到n之间的每一个数,输出能除尽的每一个数(包括重
2017-07-23 15:45:10 233
原创 【华为机试】明明的随机数
题目:明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。 InputParam n 输入随机数的个数
2017-07-23 13:50:17 285
原创 【华为机试】符串最后一个单词的长度
题目:计算字符串最后一个单词的长度,单词以空格隔开。 输入描述:一行字符串,非空,长度小于5000。 输出描述:整数N,最后一个单词的长度。 输入:hello world 输出:5 分析:把字符串从后向前查找,从第一个不是空格的位置开始,到当前位置下一个是空格时结束。 程序:#include #include using namespace std; int main(){ s
2017-07-23 10:32:39 180
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人