Linux系统概念模型 在我眼里,Linux系统主要有如下部分组成 内存管理 虚拟内存:Linux把应用程序实际使用的虚拟地址以页为单位映射到物理地址,从而提高了内存资源的利用率;每个应用程序只能看到属于自己的统一的,连续的虚拟地址空间,从而保证了不同应用程序的隔离性,也降低了编程复杂度。同时,虚拟 ...
分类:
其他好文 时间:
2021-05-24 05:00:21
阅读次数:
0
题目描述: 统计一个数字在升序数组中出现的次数。 例如: [1,2,3,3,3,3,4] 3 返回:4 解题思路: 看到题目,可直接暴力求解,循环数组,找出出现次数,但此时时间复杂度为O(n)。显然直接遍历,没有很好的利用题目中升序这个已知要求,我们只需要找到目标数字第一次和最后一次出现的位置,并且 ...
分类:
编程语言 时间:
2021-05-24 04:50:00
阅读次数:
0
Insertion sort Attempt#1 每次将元素A[j]插入它之前的有序序列A[1 .. j-1]中,插入方式是与前一个相邻元素两两比较并交换直到到达正确位置 Complexity 显然复杂度主要来自于 compare 和 swap : 平均情况下,比较和交换均需要 Θ(n2),虽然可以 ...
分类:
其他好文 时间:
2021-05-24 02:26:31
阅读次数:
0
有向图强连通分量SCC P3387【模板】缩点 注释放代码里啦 时间复杂度O(n+m) #include<iostream> #include<cstdio> #include<cstdlib> #define maxn 100010 #define maxm 1000010 using names ...
分类:
其他好文 时间:
2021-05-24 02:15:52
阅读次数:
0
问题: 求n以内所有素数,一般的做法是: 1. 遍历2-n之间所有的数i 2. 每个数i再遍历所有小于它的数看是否能被小于它的某个数整除,如果可以者该数i有可以被整除的数则是和数,没有则是素数。 两层for循环,时间复杂度高。 解法一:素数筛 思想:用素数去标记合数,例如,已知最小的素数是2,那么2 ...
分类:
编程语言 时间:
2021-05-24 00:23:04
阅读次数:
0
二分最大边权,即有些边强制不能被选 接下来,即任意一点上某两边不能同时被选,以及任意一点上颜色相同的两边必须被选择一条 这些限制都可以用2-sat的形式来描述(强制不能选即连边"选->不选"),但后两类的边数达到了$o(m^{2})$,时间复杂度上无法接受 当一个节点上有一种颜色的边出现3次,或有两 ...
分类:
其他好文 时间:
2021-05-23 23:11:11
阅读次数:
0
分类:数组-统计数组中的元素 题目描述: 给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。 找到所有出现两次的元素。 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗? 解题思路: 由于数字i在1到n之间,可以将nums[ ...
分类:
编程语言 时间:
2021-05-23 23:05:32
阅读次数:
0
分类:数组-统计数组中的元素 题目描述: 给定一个范围在 1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? ...
分类:
编程语言 时间:
2021-05-23 23:00:05
阅读次数:
0
最裸的暴力,时间复杂度:\(O(n^3)\)。 const int N=110; int a[3],b[3]; int n; bool check(int c[],int a[]) { for(int i=0;i<3;i++) if(abs(a[i]-c[i]) > 2 && abs(a[i]-c[ ...
分类:
其他好文 时间:
2021-05-04 16:12:32
阅读次数:
0
#时间复杂度O(N*N),空间复杂度O(1) #暴力法 def twoSum_baoli(nums: List[int], target:int) -> List[int]: for i in range(len(nums)-1): base = nums[i] for j in range(i+1 ...
分类:
编程语言 时间:
2021-05-04 15:39:57
阅读次数:
0