
代码整理
huatian5
run
展开
-
Manacher算法(O(n)求得最长回文)
p[i] 为新字符串的回文半径,不包含当前字符,所以回文子串数目为 (p[i]+1)/2。原创 2016-08-19 10:35:25 · 431 阅读 · 0 评论 -
单调递增最长子序列(LIS)&&最长公共子序列(LCS)
动态规划的经典问题,这里的讲解网上有很多非常好的,而我却还没有能力写出完整详细的理解,就附图两张吧,这两个图貌似很火,出处找不到了。LISLCS 动态规划的三种形式:1.记忆递归型2.“我为人人”递推型3.“人人为我”递推型 递推并不是动态规划的本质,如何拆分才是核心。拆分成若干子问题.这里看到知乎上讲解特别好的动态规划中递推式的求解原创 2016-07-23 13:39:08 · 992 阅读 · 0 评论 -
二叉树相关操作
LeetCode:先序遍历 代码: 递归:/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), ri...原创 2018-04-30 09:25:06 · 236 阅读 · 0 评论 -
常见排序代码(C语言)
快速排序最理想时间复杂度O(nlogn),最坏时间复杂度O(n^2),实际应用中,快速排序的平均时间复杂度为O(nlogn)#include<iostream>#include<algorithm>using namespace std;int a[105] = {3,5,7,9,2,68,48,6,59,18};void quicksort(in...原创 2016-12-12 11:38:05 · 1158 阅读 · 1 评论 -
常用图算法(C语言)
题目:https://leetcode.cn/problems/network-delay-time/description/邻接表(链式前向星)原创 2022-10-11 22:02:51 · 359 阅读 · 0 评论