码迷,mamicode.com
首页 >  
搜索关键字:nlogn    ( 1771个结果
归并排序(merge_sort)
算法时间复杂度:妥妥的nlogn 步骤: 1.确定分界点 mid = (l+r) >> 1 2.递归排序左右两边 3.归并——合二为一(用两个指针,分别指向两个序列) 就是递归到最底部,然后对小部分排序,归并为大部分。 代码模板: 1 void merge_sort(int q[], int l, ...
分类:编程语言   时间:2020-07-05 17:15:49    阅读次数:80
每日一题 - 剑指 Offer 41. 数据流中的中位数
题目信息 时间: 2019-06-30 题目链接:Leetcode tag: 大根堆 小根堆 难易程度:中等 题目描述: 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的 ...
分类:其他好文   时间:2020-07-04 00:57:27    阅读次数:75
动态规划 O(NlogN)结构
动态规划 O(NlogN)结构 在插入排序时,我们倘若用二分查找的形式去寻找插入位置,看似很快,但是却要移动后面的位置,使得这个二分得不偿失 但,如果只是替换某个值呢? 在动态规划的很多题目里面,我们正是要维护这样的一个决策单调序列, 进行更新采取的方案正是替换 注意,这样处理并不能记录opt答案对 ...
分类:其他好文   时间:2020-07-02 10:47:23    阅读次数:54
剑指Offer 03 数组中重复的数字
找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制: 2 ...
分类:编程语言   时间:2020-07-01 22:32:23    阅读次数:63
【算法】倍增算法 - 后缀数组
后缀数组的倍增算法 O(nlogn) / O(nlog2n) 算法介绍 ? 先根据字符串中字符的出现情况,给每一种字符一个对应的排名(从1开始),作为第一次排序的结果 ? 其后每一次,每个位置以当前排名作为主关键词,从1开始倍增步数,将对应的位置排名作为第二关键词 ? 于是根据主关键词与副关键词继续 ...
分类:编程语言   时间:2020-06-30 12:33:39    阅读次数:56
一个傻逼题
题目连接 体验++ 我们首先从确定算法着手 \(n=1e6\) 根据常识,我们可以选择的有$O(nlogn) or O(n)$ 同样根据常识$O(nlogn)的玩意儿有二分,线段树等等$ $O(n)$的玩意儿有dp,贪心 $dp$我觉得起码要开二维才行,否则弄不出来的 那么就只剩下贪心和二分线段树之 ...
分类:其他好文   时间:2020-06-29 13:29:24    阅读次数:74
ABC172
由于第一次打,只能打ABC了 比赛代码 A 直接输出 B 每个位置比较 C 枚举第一个书架的位置,第二个书架单调 D 线性筛,貌似$O(nlogn)$也能过... 官方题解有个更简单的方法,对于每个因子,其贡献为等差数列 E 强制两数组位置相同,容斥 F 比赛的时候写的是乱搞,要调参...具体可以看 ...
分类:其他好文   时间:2020-06-28 20:51:51    阅读次数:917
LeetCode209. 长度最小的子数组
方法一 暴力枚举所有可能的子数组,也就是枚举子数组的所有开始下标和结束下标,计算子数组的和,如果子数组的和小于等于s,就更新最小长度。 class Solution { public: int minSubArrayLen(int s, vector<int>& nums) { if(nums.si ...
分类:编程语言   时间:2020-06-28 20:34:15    阅读次数:50
4. 丑数 II
4. 丑数 II 中文English 设计一个算法,找出只含素因子2,3,5 的第 n 小的数。 符合条件的数如:1, 2, 3, 4, 5, 6, 8, 9, 10, 12... 样例 样例 1: 输入:9 输出:10 样例 2: 输入:1 输出:1 挑战 要求时间复杂度为 O(nlogn) 或者 ...
分类:其他好文   时间:2020-06-27 19:50:48    阅读次数:52
3.归并排序
基本思想:分治。 归并排序是以数组的中间点来分。 时间复杂度确定是nlogn 1:确定分界点mid = (l + r) / 2,是下标的中间值。 2:递归排序左右两边。排完序后,左右两边都是有序的了。 3:归并。把两个有序的数组,归并成一个有序的数组。 1 #include <bits/stdc++ ...
分类:编程语言   时间:2020-06-27 14:43:03    阅读次数:68
1771条   上一页 1 ... 4 5 6 7 8 ... 178 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!