
编程题练习
Real_JumpChen
这个作者很懒,什么都没留下…
展开
-
编程题—小萌的副本生涯
内容会持续更新,有错误的地方欢迎指正,谢谢!题目在主城站街很久之后,小萌决定不能就这样的浪费时间虚度青春,他打算去打副本。 这次的副本只有一个BOSS,而且BOSS是不需要击杀的,只需要和它比智力……. BOSS会列出一正整数的序列,由小萌先开始,然后两个人轮流从序列的任意一端取数,取得的数累加到积分里,当所有数都取完,游戏结束。 假设小萌和BOSS都很聪明,两个人取数的方法都是最优策略,问最原创 2018-01-10 11:03:32 · 1106 阅读 · 0 评论 -
编程题—小易的升级之路、炮台攻击、扫描透镜
内容会持续更新,有错误的地方欢迎指正,谢谢!小易的升级之路小易经常沉迷于网络游戏.有一次,他在玩一个打怪升级的游戏,他的角色的初始能力值为 a.在接下来的一段时间内,他将会依次遇见n个怪物,每个怪物的防御力为b1,b2,b3…bn. 如果遇到的怪物防御力bi小于等于小易的当前能力值c,那么他就能轻松打败怪物,并 且使得自己的能力值增加bi;如果bi大于c,那他也能打败怪物,但他的能力值只能...原创 2018-03-15 22:22:34 · 314 阅读 · 0 评论 -
编程题—构造回文
内容会持续更新,有错误的地方欢迎指正,谢谢!题目给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。输入描述: 输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000输出描述: 对于每组数据,输出一个整数,代表最少需要删除的字符个数。示例: 输入abcdba 输出1 输入google原创 2017-12-31 14:55:42 · 347 阅读 · 0 评论 -
编程题—字符移位
内容会持续更新,有错误的地方欢迎指正,谢谢!题目小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。你能帮帮小Q吗?输入描述: 输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述: 对于每组数据,输出移位后的字符串。例子: 输入:AkleBiCeilD 输出...原创 2017-12-31 16:31:37 · 418 阅读 · 0 评论 -
编程题—有趣的数字
内容会持续更新,有错误的地方欢迎指正,谢谢!题目小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢?输入描述: 输入包含多组测试数据。对于每组测试数据: N - 本组测试数据有n个数 a1,a2…an - 需要计算的数据保证: 1<=N<=100000,0<=ai<=INT_MAX.输出描述: 对于每组数据,输出两个数,第一个数表示差最小的对数,第二个原创 2017-12-31 16:38:29 · 828 阅读 · 0 评论 -
编程题—编码
问题假定一种编码的编码范围是a ~ y的25个字母,有1位到4位的编码,如果我们把该编码按字典序排序,形成一个数组如下: a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx, yyyy 其中a的Index为0,aa的Index为1,aaa的Index为2,以此类推。 编写一个函数,输入是任意一原创 2018-01-01 22:42:49 · 632 阅读 · 0 评论 -
编程题—游戏任务标记
内容会持续更新,有错误的地方欢迎指正,谢谢!问题游戏里面有很多各式各样的任务,其中有一种任务玩家只能做一次,这类任务一共有1024个,任务ID范围[1,1024]。请用32个unsigned int类型来记录着1024个任务是否已经完成。初始状态都是未完成。 输入两个参数,都是任务ID,需要设置第一个ID的任务为已经完成;并检查第二个ID的任务是否已经完成。 输出一个参数,如果第二个ID的任务已经完原创 2018-01-02 00:48:42 · 1300 阅读 · 0 评论 -
编程题—质数和质数对
内容会持续更新,有错误的地方欢迎指正,谢谢!问题给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000。 如,输入为10, 程序应该输出结果为2。(共有两对质数的和为10,分别为(5,5),(3,7)) 输入描述: 输入包括一个整数n,(3 ≤ n < 1000)输出描述: 输出对数输入例子: 10输出例子: 2分析质数又名素数,取值:2 3 5原创 2018-01-02 11:03:42 · 1950 阅读 · 0 评论 -
编程题—geohash编码
内容会持续更新,有错误的地方欢迎指正,谢谢!问题geohash编码:geohash常用于将二维的经纬度转换为字符串,分为两步:第一步是经纬度的二进制编码,第二步是base32转码。 此题考察纬度的二进制编码:算法对纬度[-90, 90]通过二分法进行无限逼近(取决于所需精度,本题精度为6)。注意,本题进行二分法逼近过程中只采用向下取整来进行二分,针对二分中间值属于右区间。算法举例如下: 针对纬度为原创 2018-01-02 16:20:14 · 736 阅读 · 0 评论 -
编程题—字符串编码
内容会持续更新,有错误的地方欢迎指正,谢谢!题目给定一个字符串,请你将字符串重新编码,将连续的字符替换成“连续出现的个数+字符”。比如字符串AAAABCCDAA会被编码成4A1B2C1D2A。 输入描述: 每个测试输入包含1个测试用例 每个测试用例输入只有一行字符串,字符串只包括大写英文字母,长度不超过10000。输出描述: 输出编码后的字符串输入例子: AAAABCCDAA输出例子: 4原创 2018-01-02 19:53:36 · 725 阅读 · 0 评论 -
编程题—最大和
内容会持续更新,有错误的地方欢迎指正,谢谢!题目在一个N*N的数组中寻找所有横,竖,左上到右下,右上到左下,四种方向的直线连续D个数字的和里面最大的值 输入描述: 每个测试输入包含1个测试用例,第一行包括两个整数 N 和 D : 3 <= N <= 100 1 <= D <= N 接下来有N行,每行N个数字d: 0 <= d <= 100输出描述: 输出一个整数,表示找到的和的最大值输入原创 2018-01-02 20:10:02 · 381 阅读 · 0 评论 -
编程题—赛马
内容会持续更新,有错误的地方欢迎指正,谢谢!题目在一条无限长的跑道上,有N匹马在不同的位置上出发开始赛马。当开始赛马比赛后,所有的马开始以自己的速度一直匀速前进。每匹马的速度都不一样,且全部是同样的均匀随机分布。在比赛中当某匹马追上了前面的某匹马时,被追上的马就出局。 请问按以上的规则比赛无限长的时间后,赛道上剩余的马匹数量的数学期望是多少 输入描述: 每个测试输入包含1个测试用例 输入只有原创 2018-01-02 23:50:50 · 1331 阅读 · 0 评论 -
编程题—推箱子
内容会持续更新,有错误的地方欢迎指正,谢谢!题目大家一定玩过“推箱子”这个经典的游戏。具体规则就是在一个N*M的地图上,有1个玩家、1个箱子、1个目的地以及若干障碍,其余是空地。玩家可以往上下左右4个方向移动,但是不能移动出地图或者移动到障碍里去。如果往这个方向移动推到了箱子,箱子也会按这个方向移动一格,当然,箱子也不能被推出地图或推到障碍里。当箱子被推到目的地以后,游戏目标达成。现在原创 2018-01-02 23:57:44 · 1538 阅读 · 0 评论 -
编程题—比较重量—Floyd算法实现
内容会持续更新,有错误的地方欢迎指正,谢谢!何为Floyd算法是一种利用邻接矩阵记录每两点间的最短路径以在没负回路的有向图中找到最短路径的算法。求最短路的Floyd算法框架:声明一个二维数组(官方叫:邻接矩阵),用于将有向图转化为这个二维数组matrix,如何转化? 先将对角线上的元素置0,非对角线上元素置无穷大; 再将图中互相相连的两点的距离写入到二维数组中;比如点1原创 2018-01-08 19:26:06 · 768 阅读 · 0 评论 -
编程题—二叉树
内容会持续更新,有错误的地方欢迎指正,谢谢!题目有一棵二叉树,树上每个点标有权值,权值各不相同,请设计一个算法算出权值最大的叶节点到权值最小的叶节点的距离。二叉树每条边的距离为1,一个节点经过多少条边到达另一个节点为这两个节点之间的距离。 给定二叉树的根节点root,请返回所求距离。分析先找到权值最大和最小的结点,再遍历代码原创 2018-01-08 23:27:28 · 364 阅读 · 0 评论 -
编程题—寻找第K大
内容会持续更新,有错误的地方欢迎指正,谢谢!题目有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数。 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在。输入例子:[1,3,5,2,2],5,3 输出例子:2分析送分题,知道快排的都知道Partition函数,那么一个Partition函数就解决了。代码这里写代码片原创 2018-01-09 02:10:41 · 843 阅读 · 2 评论 -
编程题—字符串的排列
内容会持续更新,有错误的地方欢迎指正,谢谢!题目题目描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。分析一下子想不出解决方案就举例+画图+分解!如图所示,便是我们的思路。所以,求原创 2018-01-09 21:44:29 · 890 阅读 · 0 评论 -
编程题—随机发放奖品
题目在一次活动中,我们需要按可控的比例来随机发放我们的奖品,假设需要随机的物品id和概率都在给定的Map<String,Double> prizeMap中,请实现如下这个函数: String getRandomPrize(Map<String,Double>prizeMap){}使得返回的结果为参与者即将得到的一个随机物品id. prizeMap中的数据为: 物品id 投放概率 1原创 2018-01-10 00:03:33 · 1960 阅读 · 0 评论 -
编程题—数组的最大子数组和
内容会持续更新,有错误的地方欢迎指正,谢谢!题目求一个整型数组中最大的连续子数组的和 输入 2, -3, 4, 11, -5, 8, 3, -6 输出21 输入是一组数字,数字本身可以是正数,也可以是负数。输出是这个数组的子数组中最大的求和数。如例子中满足该条件的子数组是:4, 11, -5, 8, 3,求和后的值是21。分析题目不难,就是一个DP问题,难点在于如何读取输入的整型数组。 每原创 2018-03-30 17:41:17 · 736 阅读 · 0 评论