编程题de世界
编程题集锦,持续更新算法等相关题目(有解析),代码为C++编写
kevin990123
这个作者很懒,什么都没留下…
展开
-
编程题——猴子分桃
题目——猴子分桃题目描述:老猴子辛苦了一辈子,给那群小猴子们留下了一笔巨大的财富——一大堆桃子。老猴子决定把这些桃子分给小猴子。第一个猴子来了,它把桃子分成五堆,五堆一样多,但还多出一个。它把剩下的一个留给老猴子,自己拿走其中的一堆。第二个猴子来了,它把桃子分成五堆,五堆一样多,但又多出一个。它把多出的一个留给老猴子,自己拿走其中的一堆。后来的小猴子都如此照办。最后剩下的桃子全部留给...原创 2019-07-07 00:38:26 · 3752 阅读 · 0 评论 -
编程题——奇数位上都是奇数或者偶数位上都是偶数
编程题——奇数位上都是奇数或者偶数位上都是偶数题目描述:给定一个长度不小于2的数组arr。 写一个函数调整arr,使arr中要么所有的偶数位上都是偶数,要么所有的奇数位上都是奇数上。 要求:如果数组长度为N,时间复杂度请达到O(N),额外空间复杂度请达到O(1),下标0,2,4,6…算作偶数位,下标1,3,5,7…算作奇数位,例如[1,2,3,4]调整为[2,1,4,3]即可程序代码如...原创 2019-07-07 00:33:57 · 701 阅读 · 0 评论 -
编程题——快到碗里来
编程题——快到碗里来题目描述:小喵们很喜欢把自己装进容器里的(例如碗),但是要是碗的周长比喵的身长还短,它们就进不去了。现在告诉你它们的身长,和碗的半径,请判断一下能否到碗里去。输入描述:输入有多组数据。每组数据包含两个整数n (1≤n≤2^128) 和r (1≤r≤2^128),分别代表喵的身长和碗的半径。圆周率使用3.14。输出描述:对应每一组数据,如果喵能装进碗里就输出...原创 2019-07-05 18:10:47 · 452 阅读 · 0 评论 -
编程题——数根
编程题——数根题目描述:数根可以通过把一个数的各个位上的数字加起来得到如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24来说,把2和4相加得到6,由于6是一位数,因此6是24的数根。再比如39,把3和9加起来得到12,由于12不是一位数,因此还得把1和2加起来,最后得到3,这是一个一...原创 2019-07-04 22:03:36 · 1662 阅读 · 0 评论 -
编程题——星际密码
编程题——星际密码程序代码如下:#include <iostream>#include <vector>using namespace std;vector<int> a = { 1, 1 };/*理解了题目就很简单了 |1,1| *矩阵是|1,0|,当n次方取值为1,2,3,4,5...时,对应矩阵左上角为1,2,3,...原创 2019-07-04 20:54:36 · 379 阅读 · 0 评论 -
编程题——汽水瓶
编程题——汽水瓶题目描述:有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换...原创 2019-06-23 22:10:45 · 2220 阅读 · 0 评论 -
编程题——查找两个字符串a,b中的最长公共子串
编程题——查找两个字符串a,b中的最长公共子串题目描述:查找两个字符串a,b中的最长公共子串。若有多个,输出在较短串中最先出现的那个。输入描述:输入两个字符串输出描述:返回重复出现的字符示例:输入abcdefghijklmnopabcsafjklmnopqrstuvw输出jklmnop程序代码如下:#include <iostream>#in...原创 2019-06-23 22:05:00 · 3273 阅读 · 0 评论 -
编程题——字符串通配符
编程题——字符串通配符题目描述:问题描述:在计算机中,通配符一种特殊语法,广泛应用于文件搜索、数据库、正则表达式等领域。现要求各位实现字符串通配符的算法。要求:实现如下2个通配符:*:匹配0个或以上的字符(字符由英文字母和数字0-9组成,不区分大小写。下同)?:匹配1个字符输入:通配符表达式;一组字符串。输出:返回匹配的结果,正确输出true,错误输出false输入描述...原创 2019-06-23 17:57:57 · 1072 阅读 · 0 评论 -
编程题——统计每个月兔子的总数
编程题——统计每个月兔子的总数题目描述:有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?输入描述:输入int型表示month输出描述:输出兔子总数int型示例:输入9输出34程序代码如下:#include <iostream>using namespace st...原创 2019-06-23 17:51:56 · 888 阅读 · 0 评论 -
编程题——超长正整数相加
编程题——超长正整数相加题目描述:请设计一个算法完成两个超长正整数的加法。输入描述:输入两个字符串数字输出描述:输出相加后的结果,string型示例:输入999999999999999999999999999999999999999999999999991输出100000000000000000000000000000000000000000000000000程...原创 2019-06-22 18:42:45 · 522 阅读 · 0 评论 -
编程题——杨辉三角的变形
编程题——杨辉三角的变形题目描述:这里给出六层: 1 1 1 1 1 2 3 2 1 1 3 6 7 6 ...原创 2019-06-19 23:55:47 · 371 阅读 · 0 评论 -
编程题——完全数计算
编程题——完全数计算题目描述:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。例如:28,它有约数1、2、4、7、14、28,除去它本身28外,其余5个数相加,1+2+4+7+14=28。给定函数count(int n),用于计算n以内(含n)完全数的个数。计算范围, 0 <...原创 2019-06-18 22:52:48 · 1812 阅读 · 0 评论 -
编程题——扑克牌大小
编程题——扑克牌大小题目描述:扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王)原创 2019-06-18 22:49:19 · 3891 阅读 · 0 评论 -
编程题——手套
编程题——手套题目描述:在地下室里放着n种颜色的手套,手套分左右手,但是每种颜色的左右手手套个数不一定相同。A先生现在要出门,所以他要去地下室选手套。但是昏暗的灯光让他无法分辨手套的颜色,只能分辨出左右手。所以他会多拿一些手套,然后选出一双颜色相同的左右手手套。现在的问题是,他至少要拿多少只手套(左手加右手),才能保证一定能选出一双颜色相同的手套。给定颜色种数n(1≤n≤13),同时给定...原创 2019-06-17 23:27:00 · 596 阅读 · 0 评论 -
编程题——跳石板(dp动态规划)
编程题——跳石板(dp动态规划)题目描述:小易(网易的面试题)来到了一条石板路前,每块石板上从1挨着编号为:1、2、3…这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。...原创 2019-06-13 21:57:11 · 493 阅读 · 0 评论 -
编程题——幸运袋子
编程题——幸运袋子题目描述:一个袋子里面有n个球,每个球上面都有一个号码(拥有相同号码的球是无区别的)。如果一个袋子是幸运的当且仅当所有球的号码的和大于所有球的号码的积。例如:如果袋子里面的球的号码是{1, 1, 2, 3},这个袋子就是幸运的,因为1 + 1 + 2 + 3 > 1 * 1 * 2 * 3你可以适当从袋子里移除一些球(可以移除0个,但是别移除完),要使移除后的袋...原创 2019-06-13 16:45:30 · 412 阅读 · 0 评论 -
回溯法——机器人的运动范围
回溯法——机器人的运动范围题目描述:地上有一个M行和N列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格(35,37),因为3 + 5 + 3 + 7 = 18.但是,它不能进入方格(35, 38),因为3 + 5 + 3 + 8 = 19.请问该机器人能够...原创 2019-06-13 16:46:22 · 232 阅读 · 0 评论 -
回溯法解决矩阵中的路径问题
回溯法解决矩阵中的路径问题题目描述:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串"bcced"的路径,但是矩阵...原创 2019-06-13 16:45:59 · 370 阅读 · 0 评论 -
编程题——参数解析
编程题——参数解析题目描述:在命令行输入如下命令:xcopy /s c:\ d:\,各个参数如下:参数1:命令字xcopy参数2:字符串/s参数3:字符串c:参数4: 字符串d:请编写一个参数解析程序,实现将命令行各个参数解析出来。解析规则:1.参数分隔符为空格2.对于用“”包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s “C:\p...原创 2019-06-09 20:38:57 · 573 阅读 · 0 评论 -
编程题——查找组成一个偶数最接近的两个素数
编程题——查找组成一个偶数最接近的两个素数题目描述:任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对输入描述:输入一个偶数输出描述:输出两个素数示例:输入20输出7 13程序代码如下:#include <iostream>using namespace std;...原创 2019-06-05 11:15:11 · 824 阅读 · 0 评论 -
编程题——二进制插入
编程题——二进制插入题目描述:有两个32位整数n和m,请编写算法将m的二进制数位插入到n的二进制的第j到第i位,其中二进制的位数从低位数到高位且以0开始。给定两个数int n和int m,同时给定int j和int i,意义如题所述,请返回操作后的数,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1。输入:1024 19 2 6输出:1100程序代码如下:...原创 2019-06-05 11:10:15 · 276 阅读 · 0 评论 -
编程题——求最大连续bit数
编程题——求最大连续bit数题目描述:功能: 求一个byte数字对应的二进制数字中1的最大连续数,例如3的二进制为00000011,最大连续2个1输入描述:输入一个byte数字输出描述:输出转成二进制之后连续1的个数示例:9999—0010011100001111输入9999输出4程序代码如下:#include <iostream>#inc...原创 2019-06-04 21:06:34 · 382 阅读 · 0 评论 -
编程题——最近公共祖先
编程题——最近公共祖先题目描述:有一棵无穷大的满二叉树,其结点按根结点一层一层地从左往右依次编号,根结点编号为1。现在有两个结点a,b。请设计一个算法,求出a和b点的最近公共祖先的编号。给定两个int a,b。为给定结点的编号。请返回a和b的最近公共祖先的编号。注意这里结点本身也可认为是其祖先。程序代码如下:#include <iostream>using nam...原创 2019-06-04 21:01:44 · 292 阅读 · 0 评论 -
编程题——密码强度等级
编程题——密码强度等级题目描述:密码按如下规则进行计分,并根据不同的得分为密码进行安全等级划分。 一、密码长度: 5 分: 小于等于4 个字符 10 分: 5 到7 字符 25 分: 大于等于8 个字符 二、字母: 0 分: 没有字母 10 分: 全都是小(大)写字母 20 分: 大小写混合字母 三、数字: 0 ...原创 2019-06-03 22:28:26 · 1769 阅读 · 0 评论 -
编程题——井字棋
编程题——井字棋题目描述:对于一个给定的井字棋棋盘,请设计一个高效算法判断当前玩家是否获胜。给定一个二维数组board,代表当前棋盘,其中元素为1的代表是当前玩家的棋子,为0表示没有棋子,为-1代表是对方玩家的棋子。本代码适用于所有n*n棋盘程序代码如下:#include <iostream>#include <vector>using nam...原创 2019-06-03 21:21:26 · 4620 阅读 · 0 评论 -
编程题——棋盘走法
编程题——棋盘走法题目描述:请编写一个函数(允许增加子函数),计算n x m的棋盘格子(n为横向的格子数,m为竖向的格子数)沿着各自边缘线从左上角走到右下角,总共有多少种走法,要求不能走回头路,即:只能往右和往下走,不能往左和往上走。输入描述:输入两个正整数输出描述:返回结果示例1输入22输出6程序代码如下:#include <iostream>...原创 2019-06-01 11:02:31 · 2160 阅读 · 0 评论 -
编程题——另类加法
编程题——另类加法题目描述:请编写一个函数,将两个数字相加。不得使用+或其他算数运算符。给定两个int A和B。请返回A+B的值程序代码如下:#include <iostream>using namespace std;/*使用位运算来解决 *二进制位异或运算可得相加之后当前位值 *二进制按位与运算再左移位可得进位值 *将两值不断异或运算来进行进位,直到...原创 2019-06-01 11:00:02 · 257 阅读 · 0 评论 -
编程题——两种排序方法
编程题——两种排序方法题目描述:考拉有n个字符串字符串,任意两个字符串长度都是不同的。考拉最近学习到有两种字符串的排序方法: 1.根据字符串的字典序排序。例如:“car” < “carriage” < “cats” < “doggies < “koala”2.根据字符串的长度排序。例如:“car” < “cats” < “koala” < “...原创 2019-05-30 21:26:14 · 505 阅读 · 0 评论 -
编程题——求最小公倍数
编程题——求最小公倍数题目描述:正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。输入描述:输入两个正整数A和B。输出描述:输出A和B的最小公倍数。示例:输入5 7输出35程序代码如下:#include <iostream>using namespace std;/*A,B的最小公...原创 2019-05-30 21:10:36 · 6947 阅读 · 0 评论 -
编程题——合法括号序列
编程题——合法括号序列题目描述:对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串。给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串。示例1:输入(()())6输出true示例2:输入()a()()7输出false示例3:输入()(()()7输出false程序代码如下:这里写代码片程序运行结...原创 2019-05-29 17:32:03 · 1872 阅读 · 2 评论 -
编程题——Fibonacci数列
编程题——Fibonacci数列题目描述:Fibonacci数列是这样定义的:F[0] = 0F[1] = 1for each i ≥ 2: F[i] = F[i-1] + F[i-2]因此,Fibonacci数列就形如:0, 1, 1, 2, 3, 5, 8, 13, …,在Fibonacci数列中的数我们称为Fibonacci数。给你一个N,你想让其变为一个Fibonacci数...原创 2019-05-29 17:17:17 · 1335 阅读 · 0 评论 -
编程题——字符串转整数
编程题——字符串转整数题目描述:将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。输入描述:输入一个字符串,包括数字字母符号,可以为空输出描述:如果是合法的数值表达则返回该数字,否则返回0示例1:输入<空&g...原创 2019-05-27 23:24:04 · 680 阅读 · 0 评论 -
编程题——不要二
编程题——不要二题目描述:二货小易有一个W*H的网格盒子,网格的行编号为0H-1,网格的列编号为0W-1。每个格子至多可以放一块蛋糕,任意两块蛋糕的欧几里得距离不能等于2。对于两个格子坐标(x1,y1),(x2,y2)的欧几里得距离为:( (x1-x2) * (x1-x2) + (y1-y2) * (y1-y2) ) 的算术平方根小易想知道最多可以放多少块蛋糕在网格盒子里。输入描述...原创 2019-05-27 21:27:51 · 279 阅读 · 0 评论 -
编程题——连续最大和
编程题——连续最大和题目描述:一个数组有 N 个元素,求连续子数组的最大和。 例如:[-1,2,1],和最大的连续子数组为[2,1],其和为 3输入描述:输入为两行。 第一行一个整数n(1 <= n <= 100000),表示一共有n个元素 第二行为n个数,即每个元素,每个整数都在32位int范围内。以空格分隔。输出描述:所有连续子数组中和最大的值。示例:输入3...原创 2019-05-27 19:53:23 · 434 阅读 · 0 评论 -
编程题——统计回文
编程题——统计回文题目描述:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。花花非常喜欢这种拥有对称美的回文串,生日的时候她得到两个礼物分别是字符串A和字符串B。现在她非常好奇有没有办法将字符串B插入字符串A使产生的字符串是一个回文串。你接受花花的请求,帮助她寻找有多少种插入办法可以使新串是一个回文串。如果字符串B插入的位置不同就考虑为不一样的办...原创 2019-05-27 19:46:57 · 306 阅读 · 0 评论 -
编程题——进制转换
编程题——进制转换题目描述:给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数输入描述:输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。输出描述:为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10用A表示,等等)示例:输入7 2输出111程序代码如下:#include...原创 2019-05-23 19:52:39 · 2819 阅读 · 0 评论 -
编程题——计算糖果
编程题——计算糖果题目描述:A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。输入描述:输入为一行...原创 2019-05-23 19:50:12 · 1050 阅读 · 0 评论 -
编程题——n个数里出现次数大于等于n/2的数
编程题——n个数里出现次数大于等于n/2的数题目描述:输入n个整数,输出出现次数大于等于数组长度一半的数。输入描述:每个测试输入包含 n个空格分割的n个整数,n不超过100,其中有一个整数出现次数大于等于n/2。输出描述:输出出现次数大于等于n/2的数。示例:输入3 9 3 2 5 6 7 3 2 3 3 3输出3程序代码如下:#include <io...原创 2019-05-23 11:14:28 · 1105 阅读 · 0 评论 -
编程题——字符串中找出连续最长的数字串
编程题——字符串中找出连续最长的数字串题目描述:读入一个字符串str,输出字符串str中的连续最长的数字串输入描述:个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串。示例输入abcd12345ed125ss123456789输出123456789程序代码如下:#include <iostr...原创 2019-05-23 11:10:00 · 2747 阅读 · 2 评论 -
编程题——逆置字符串
编程题——逆置字符串题目描述:将一句话的单词进行倒置,标点不倒置。比如 I like beijing. 经过函数后变为:beijing. like I输入描述:每个测试输入包含1个测试用例: I like beijing. 输入用例长度不超过100输出描述:依次输出倒置之后的字符串,以空格分割示例:输入I like beijing.输出beijing. like I...原创 2019-05-22 17:34:18 · 1382 阅读 · 0 评论