算法
文章平均质量分 94
上官宏竹
这个作者很懒,什么都没留下…
展开
-
面试常用算法归纳
注意:这里需要使用一个pair记录前一个dp[i]的最长子串的始末位置,在判断s[i]与s[i-1]不等时,需要继续往前判断s[i]是否包含在前一个dp[i-1]的子串中,如果在,则当前的dp[i]需要减去dp[i-1]子串的前一部分。对于二维dp的状态转移方程,大致都会是要从左、上及左上三个方向来推导,即:dp[i][j] = max(dp[i-1][j], dp[i][j-1], dp[i-1][j-1])。对于dp[i]的定义为:以s[i]为结尾的【无重复字符的最长子串】的长度。原创 2022-11-17 20:48:56 · 3436 阅读 · 0 评论 -
面试常见题(非算法)
linux和os:netstat tcpdump ipcs ipcrm (如果这四个命令没听说过或者不能熟练使用,基本上可以回家,通过的概率较小 ^_^ ,这四个命令的熟练掌握程度基本上能体现面试者实际开发和调试程序的经验) cpu 内存 硬盘 等等与系统性能调试相关的命令必须熟练掌握,设置修改权限 tcp网络状态查看 各进程状态 抓包相关等相关命令 必须熟练掌握 awk sed需掌握 共享内原创 2015-09-15 11:33:22 · 1345 阅读 · 0 评论 -
ACM题目
1、矩形嵌套时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽。矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a2、单调递增最长子序列时间限制:3000 ms | 内存限制:65535 KB 难度:4描述 求一个字符串的最长递增子序列的长度 如:dabdbf最长递增子序列就是abdf原创 2015-09-12 17:12:30 · 811 阅读 · 0 评论 -
算法——动态规划
1、0-1背包问题【分析】 n = 3(宝石个数) c = 10( 背包体积) n: 0 1 2 (宝石编号) w: 5 4 3 v: 20 10 12从k=n=3开始分析: 当n=3时,我们要求的是前3个宝石, 装到体积为10的背包里能达到的最大价值 当n=2时,我们要求的是前2个宝石, 装到体积为7(10 - 3)的背包里能达到的最大价值那么可以定义一个状态原创 2015-09-11 16:59:28 · 422 阅读 · 0 评论 -
算法——动态规划(分治递归)
前言本文翻译自TopCoder上的一篇文章: Dynamic Programming: From novice to advanced ,并非严格逐字逐句翻译,其中加入了自己的一些理解。水平有限,还望指摘。我们遇到的问题中,有很大一部分可以用动态规划(简称DP)来解。 解决这类问题可以很大地提升你的能力与技巧,我会试着帮助你理解如何使用DP来解题。 这篇文章是基于实例展开来讲的,因为干巴巴的理论实在转载 2015-09-11 09:48:02 · 1152 阅读 · 0 评论 -
笔试——编程&算法
1、子序列最大和给定整数序列A1 A2….An,长度为n,其中整数可能为负数,现在要求A1~An的一个子序列Ai~Aj,使得Ai到Aj的和最大,并输出最大的和。int MAXseq(const int a[], int n){ int s1,s2,j; s1 = s2 = 0; for(j=0;j<n;j++) { s1 += a[j]; //s1记录原创 2015-09-03 20:33:31 · 901 阅读 · 0 评论 -
算法——回溯法(子集、全排列、皇后问题)
参考:http://www.cnblogs.com/wuyuegb2312/p/3273337.html#intro定义回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。 回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。 回溯算法解决问题的一般步骤为: 1、定义一个解空间,它包含问题的解。 2、利用适于搜索的方法组织解空间。 3、利原创 2015-07-27 11:28:59 · 5275 阅读 · 0 评论 -
算法——贪心、穷举法
1、贪心算法◆找零钱问题 有三种硬币,1元、5角、1角。 现在要找一个2元7角的钱,怎样找才能使得硬币数最少。贪心法:是指从问题的初始状态出发,通过若干次的贪心选择而得出最优值(或较优值)的一种解题方法。 贪心策略总是做出在当前看来是最优的选择,也就是说贪心策略并不是从整体上加以考虑,它所作出的选择只是在某种意义上的局部最优解。(1) 首先找出一个面值不大于2元7角的最大硬币,即1元 (2)原创 2015-07-27 17:29:40 · 3270 阅读 · 0 评论 -
算法——字符串、序列问题
1、求一个字符串中连续出现次数最多的子串《程序员面试宝典》 P237 字符串中连续出现次数最多的子串,例如字符串“abababc”,最多连续出现的为ab,连续出现三次。 【算法思路】 首先 获得后缀数组 例如:abcbcbcabc的后缀数组为: abcbcbcabc bcbcbcabc cbcbcabc bcbcabc cbcabc原创 2015-07-06 10:03:25 · 754 阅读 · 0 评论