算法与数据结构
文章平均质量分 71
上善若海
这个作者很懒,什么都没留下…
展开
-
理解强连通分量Kosaraju算法的正确性
1.基本概念 在看《算法》的有向图章节时,对于Kosaraju算法的理解花了很多时间,为了让更多人不在这个算法的理解上面耗费过多时间,特地把自己理解该算法的过程记录下来,分享给有需要的各位。 Kosaraju算法是计算有向图中强连通分量的经典算法。下面简要补充几个基本概念:1.1 有向图 在有向图中,边是单向的:每条边所连接的两个顶点都是一个有序对。如下图所示: 有向图的数...原创 2018-03-26 21:03:55 · 5698 阅读 · 8 评论 -
《剑指offer》66题JAVA代码算法实现全集
这篇文章是自己在做《剑指offer》过程中的记录和总结,我发现自己出错的原因大部分是因为这些代码我都是直接手打的,没有使用IDE,很多这样最能检验自己的基本功是否扎实,强推~以下这些题目提供的解法大部分都是我在答完题之后结合别人的解题思路进行了整合,同时也会贴出别人的多元化解法。所有题目的目录如下:【剑指offer——JAVA实现】二维数组中的查找【剑指offer——JAVA实现】替换空格【剑指o...原创 2018-03-26 15:44:39 · 1277 阅读 · 0 评论 -
华为2018实习生软件岗机试题目(2018.04.10)
刚刚做完笔试题目,题目具体内容记得不是很清楚了,请见谅。一共三道题目,时间120分钟。第一题题目描述输入一行字符串(字母或者数字,可能含重复值),按照其ASCII码顺序输出。比如:输入 eeefffgghhk次数统计e —— 3次f —— 3次g ——2次h —— 2次k —— 1次输出efghkefghef提交代码import java.util.*;public class Mai...原创 2018-04-10 22:35:29 · 1720 阅读 · 0 评论 -
《合唱团》算法解析(含思路解答示意图)【牛客网编程题——JAVA实现】
【考点:动态规划】动态规划变形,难度指数上升题目描述有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗?输入描述每个输入包含 1 个测试用例。每个测试数据的第一行包含一个整数 n (1 <= n <= 50),表示学生的个数,接下来的一行,包...原创 2018-04-16 21:11:08 · 3860 阅读 · 0 评论 -
查找有序数组中相近的数或下标【JAVA实现】
刷LeetCode过程中遇到的一个知识点,特此记录~给定一个有序数组与目标值,数组中不一定有目标值,找出与目标值最相近的数的下标private int findTarget(int[] nums, int lo, int hi, int target) { //如果只有一个元素可选,那就直接返回该元素 if(lo == hi) { ...原创 2018-05-04 11:27:29 · 2864 阅读 · 3 评论