![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法集锦
文章平均质量分 72
嬅南雨蝶
不忘初心,脚踏实地
展开
-
动态规划之最长公共子序列(LCS)
import java.util.Scanner;public class Demo01 { private int[][] LCS(char[] one, char[] two) { int m = one.length; int n = two.length; int[][] matrix = new int[m + 1][n + 1]; for(int i = 1;原创 2014-05-11 15:47:01 · 608 阅读 · 0 评论 -
java实现并查集
java实现并查集的操作,包括find,union,connected等原创 2016-03-03 14:44:44 · 523 阅读 · 0 评论 -
蓝桥杯PREV_12危险系数
使用邻接表存储图,采用深度优先遍历邻接表即可。原创 2015-05-26 08:48:51 · 1106 阅读 · 0 评论 -
蓝桥杯_PREV_4剪格子
解题思路: 首先求出所有节点和的一半sum,从左上角那个点一次向后进行回溯+剪枝搜索,如遇到所经过结点和等于sum,则将深度deep加入优先级队列(使用优先级队列可以在最后直接peek得出最小深度)。原创 2015-05-23 15:25:39 · 697 阅读 · 0 评论 -
动态规划之最长公共子序列(LCS)
通俗地说:动态规划就是将一个可以划分为子问题的问题进行递归求解,不过动态规划将大量的中间结果保存起来,不管它们是否会用得到,从而在后面的递归求解过程中可以快速求解。由此可以看得出来动态规划是一个以牺牲空间为代价换取时间的算法。一、首先先观察问题是否符合动态规划最明显的两个特征:最优子结构和重叠子问题。二、建立状态转移方程原创 2015-05-19 20:14:15 · 614 阅读 · 0 评论 -
旅行家的预算
对于贪心算法来说贪心决策的制定决定着用贪心算法求得的解的有效性及算法的效率原创 2015-04-28 18:56:14 · 570 阅读 · 0 评论 -
堆排序
堆数据结构是一种数组对象,它可以被视为一科完全二叉树结构。它的特点是父节点的值大于(小于)两个子节点的值(分别称为大顶堆和小顶堆)。它常用于管理算法执行过程中的信息,应用场景包括堆排序,优先队列等。原创 2015-04-27 14:18:41 · 396 阅读 · 0 评论 -
Fibonacci数列(蓝桥杯BEGIN-4)
用数组来保存该数列,但如果单纯的只保存数列的话,当n很大的时候会超出int的范围,所以数组每一项应该保存的是前两项之和对10007取余数,即f[n] = ( f[n - 1] + f[n - 2] ) % 10007原创 2015-04-10 15:52:59 · 663 阅读 · 0 评论 -
八皇后问题(EightQueens)
回溯最经典的八皇后问题原创 2014-05-24 22:00:36 · 583 阅读 · 0 评论 -
动态规划之K好数(蓝桥杯ALGO-3)
ALGO-3原创 2014-05-18 13:02:22 · 737 阅读 · 0 评论 -
蓝桥杯PREV_08买不到的数目(动态规划)
题目: 历届试题 买不到的数目 时间限制:1.0s 内存限制:256.0MB 问题描述小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下原创 2015-05-24 15:15:26 · 748 阅读 · 0 评论