算法入门基础
i 苏祁
这个作者很懒,什么都没留下…
展开
-
DP题目以及模型分类
数字三角形模型 AcWing 1015. 摘花生 #include <iostream> using namespace std; const int N = 110; int w[N][N]; int f[N][N]; //f[i][j] 表示从(1,1)到(i,j)最多能够摘到的花生数; [int main() { int T; cin >> T; while(T--) { int n, m; cin &g原创 2021-02-11 00:20:28 · 166 阅读 · 0 评论 -
N皇后问题(Java实现)
题目描述:可进行百度 public class NQueens { public static int num1(int n) { if(n < 1) return 0; int[] record = new int[n]; //record[i] ->i行的皇后,放在了第几列 return process1(0, record, n); } //目前来到了第i行 //record[0....i-1]表示之前的行放了皇后的位置 //n表示整体有多少行 //返回值.原创 2021-01-12 00:09:45 · 277 阅读 · 0 评论 -
随取中位数(Java实现)
题目描述:给定一个数据流,要求随时可以取得中位数 //定义一个大根堆和一个小根堆 首先第一个数入大根堆 public static class MinNumComparator implements Comparator<Integer>{ @Override public int compare(Integer o1, Integer o2) { return o1 - o2; } } public static class MaxNumComparator implement.原创 2021-01-11 21:12:17 · 293 阅读 · 0 评论 -
贪心算法的相关题目(Java实现)
活动安排问题 :定义比较器 按照活动的结束时间来进行排序 public class Program{ public int start; public int end; public Program(int start, int end) { this.start = start; this.end = end; } } public static class ProgramComparator implements Comparator<Program>{ @Overr.原创 2021-01-11 19:03:34 · 125 阅读 · 0 评论 -
前缀树的相关算法(Java和C++实现)
前缀树的节点声明 public static class TrieNode{ public int pass; public int end; public TrieNode[] nexts; //一个节点连着那些字符 public TrieNode() { pass = 0; end = 0; nexts = new TrieNode[26]; //定义26条路 a-z //当字符多种时的时候 可以使用map来进行描述 HashMap<Char原创 2021-01-11 17:53:00 · 169 阅读 · 0 评论 -
图的相关算法(Java代码实现)
图的相关算法(Java代码实现) 图的创建声明 public class Graph { public HashMap<Integer, Node> nodes; //点集 public HashSet<Edge> edges; //边集 public Graph() { nodes = new HashMap<>(); edges = new HashSet<>(); } } 边的声明 public class Edge { publ原创 2021-01-11 12:48:56 · 475 阅读 · 1 评论