算法题
文章平均质量分 69
hulamua
stay simple
展开
-
动态规划——最长递增子序列和最长公共子序列
(1)最长递增子序列一个序列有n个数:a[1],a[2],…,a[n],求出最长递增子序列的长度。比如说对于测试数据5,3,4,8,6,7来说:第一个数字5,d[0] = 1 第一个数字3,前面没有比他还小的了,d[1] = 1 第三个数字4,最长的递增子序列就是3,4,d[2] = 2 第四个数组8,d[3] = 3 第五个数字6,d[4] = 3 第六个数字7,d[5] =原创 2016-09-14 16:18:52 · 5662 阅读 · 4 评论 -
微软2017年预科生计划在线编程笔试题Legendary Items
题目1 : Legendary Items时间限制:10000ms单点时限:1000ms内存限制:256MB描述Little Hi is playing a video game. Each time he accomplishes a quest in the game, Little Hi has a chance to get a原创 2017-04-02 19:08:42 · 1296 阅读 · 2 评论 -
lintcode打劫房屋
原题地址 题目: 假设你是一个专业的窃贼,准备沿着一条街打劫房屋。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警。给定一个非负整数列表,表示每个房子中存放的钱, 算一算,如果今晚去打劫,你最多可以得到多少钱 在不触动报警装置的情况下。您在真实的面试中是否遇到过这个题? Yes 样例 给定原创 2016-11-27 00:01:50 · 397 阅读 · 0 评论 -
打劫房屋 II和打劫房屋 III
这两题都做错了T_T,所以参考了别人的。代码来源:地址 II题目: 在上次打劫完一条街道之后,窃贼又发现了一个新的可以打劫的地方,但这次所有的房子围成了一个圈,这就意味着第一间房子和最后一间房子是挨着的。每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的房子装着相互联系的防盗系统,且 当相邻的两个房子同一天被打劫时,该系统会自动报警。给定一个非负整数列表,表示每个房子中存放的钱, 算一原创 2016-11-27 21:57:48 · 403 阅读 · 1 评论 -
bestcoder-Fxx and string
原题地址import java.util.Scanner;public class Solution { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = Integer.parseInt(in.nextLine()); w原创 2016-11-14 21:36:07 · 206 阅读 · 0 评论 -
笔试题-最大连续序列和
给定n个数,求子序列的最大和。这个子序列可以有前缀和后缀(也可以为空),但是前缀和后缀的每个数都是原来数的负数,求这个最大和。 输入为两行,第一行为整数n(1~100),第二行为n个整数(32位int范围内)。输出最大连续序列和。 示例: 6 -3 5 -2 6 8 -3 输出: 23 思路:遍历所有可能的序列,对每个序列,先求最大前缀(若没有,则为0)maxPrefix,题例为3,再原创 2016-09-29 20:10:11 · 303 阅读 · 0 评论 -
蚂蚱跳(笔试题)
一个蚂蚱位于0处,在一条直线上向正向或反向跳跃。第一次跳1个单位,每次跳跃的距离比前一次多1。计算让蚂蚱跳到x处,需要经过多少次跳跃。输入为一行,包含一个整数x。样例:260输出:330这道题自己没有想到高效的办法,导致笔试的时候卡壳了。。结束后在网上一搜,找到了这么个简单牛逼的解答。思路:令S = 1+2+3+......+n , 当且仅当S>原创 2016-09-20 15:25:35 · 2523 阅读 · 0 评论 -
YTK笔试题
(1)一维数组中只有1和-1,实现程序,求和为0的最长字串长度。用了耗时间的递归,不知道高效的方法怎样写的。从数组两端开始加,如果是0,则返回两端的索引b和e,否则把索引分别往中间移一位,直到b==e返回0。 public static int getLongestLength(List array) { return helper(array, 0, array.原创 2016-09-07 10:09:19 · 384 阅读 · 0 评论 -
京东笔试题-采购单
时间限制:C/C++ 语言:1000MS,其他语言3000MS内存限制:C/C++ 语言:65536KB,其他语言589824KB大意是:小B去商店购物,列了物品清单。但货架上物品的价签尚未标上。根据购买清单,算出最好和最坏情况下所需费用。输入:输入为多组。每组第一行为整数n和m(1输出:对每组测试数据,输出两数a,b,表示购买清单上所有物品所需最小和最大费用样例输原创 2016-09-06 15:20:51 · 744 阅读 · 0 评论 -
滴滴笔试题
小青蛙用仅剩的体力值P走地下迷宫。迷宫为一个n*m的grid,每个位置为0或1,1代表可以走,0代表无法走。初始节点为(0,0),目的节点为(0,m - 1)(保证初始和目的都为1)。青蛙往上走时消耗体力值3,水平走消耗1,往下走不消耗体力值。计算青蛙能否用体力值P跳出迷宫。若不能跳出,输出“can not escape”,否则输出路径。输入顺序为n,m,p,接着n行m列是gird里的数。原创 2016-09-18 20:08:47 · 767 阅读 · 0 评论 -
KMP算法
关于算法原理,贴上博客看到的讲解非常易懂的版本:(链接:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html)1.首先,字符串"BBC ABCDAB ABCDABCDABDE"的第一个字符与搜索词"ABCDABD"的第一个字符,进行比较。因为B与A不匹配,所以转载 2017-09-26 21:18:21 · 384 阅读 · 0 评论