算法方向分析 对于这题 \(\le 1000000\) 的数据规模显然只允许我们用一重循环。 最长,可见这是道最值问题。 最值问题可以用贪心,DP,二分…… 这道题我们用 DP 来做。 构建状态 首先,我们需要构建状态,状态的构建不是唯一的,受最长上升子序列的影响,我是这样构建的:令 \(f_i\) ...
分类:
其他好文 时间:
2021-07-19 16:39:33
阅读次数:
0
3768. 字符串删减 - AcWing题库 思路 双指针的练习 C++代码 #include <iostream> #include <cstring> #include <algorithm> using namespace std; int main() { int n; string s; ...
分类:
编程语言 时间:
2021-07-19 16:34:51
阅读次数:
0
递归遍历文件夹,对比文件md5 首先,需要引用 md5 的相关代码,参考这篇文章,防止链接内容被删除,这里再记录一次: md5.h #ifndef MD5_H #define MD5_H #include <string> #include <fstream> /* Type define */ t ...
分类:
编程语言 时间:
2021-07-16 17:44:14
阅读次数:
0
前言: 冒泡,选择:使用了普通双指针法 插入,快速,归并:使用了二分法,递归 冒泡排序 原理:不断比较相邻两个数得大小,把较大的数交换到靠后的位置 def bubbleSort(iList): '''冒泡排序 ''' if len(iList) <= 1: return iList for i in ...
分类:
编程语言 时间:
2021-07-16 17:32:50
阅读次数:
0
需求背景: 查看前top N的用户 查看自己的排名 用户积分变更后,排名及时更新 1:保留排行榜2倍大小的缓存 2:对比排行榜中最小的数值,比它大,插入排行榜中 参考:http://www.cocoachina.com/articles/13638 ...
分类:
编程语言 时间:
2021-07-15 19:00:52
阅读次数:
0
https://www.cnblogs.com/shizuchengxuyuan/p/15008799.html ...
分类:
编程语言 时间:
2021-07-15 18:59:26
阅读次数:
0
C++ STL中的算法(Algorithms)作用于容器。它们提供了执行各种操作的方式,包括对容器内容执行初始化、排序、搜索和转换等操作。按照对容器内容的操作可将STL 中的算法大致分为四类: (1)只读算法:指不直接修改其所操作的容器内容的算法。 (2)可变序列算法:指可以修改它们所操作的容器内容 ...
分类:
编程语言 时间:
2021-07-12 18:25:22
阅读次数:
0
选择排序: 数据较少时可以用,缺点:时间复杂度n的平方,优点:空间复杂度小 具体实现: /** * 选择排序 * * @param $array * @return mixed */ public function sort($array) { $len = count($array); if ($ ...
分类:
编程语言 时间:
2021-07-12 18:06:27
阅读次数:
0
快速排序: 总体最优,数据大时性能最好 具体实现:设置一个基准值,小于基准值放左边,大于基准值放右边,最后递归继续排左右两侧的,最后排完后合并 /** * 快速排序 * * @param $array * @return array */ public function sort($array): ...
分类:
编程语言 时间:
2021-07-12 18:06:10
阅读次数:
0
冒泡排序: 数据少时可以用,简单,稳定 具体实现: /** * @param $array * @return mixed */ public function sort($array) { $len = count($array); if ($len 1) { return $array; } / ...
分类:
编程语言 时间:
2021-07-12 18:05:32
阅读次数:
0