笔记
小白阿灿
这个作者很懒,什么都没留下…
展开
-
C++实现数组旋转
例如数组大小n=7 int a[7]={1,2,3,4,5,6,7},旋转k=3次 得到{5,6,7,1,2,3,4}有一个暴力求解的方法 就是一次一次的改变这个数组中元素的位置 时间复杂度为O(n+k),空间复杂度为o(1)还有一种是用空间换时间 直接新建一个数组进行输入最后有一个算法时间复杂度为o(n) 空间复杂度为o(1)的比较简便的方法就是前n-k个先进行翻转 4321567 ,然后后k个在进行翻转4321765 最后整体在进行一次翻转5671234就得到了我们想要的结果...原创 2022-06-15 19:35:14 · 669 阅读 · 0 评论 -
C/C++用时间复杂度和空间复杂度均为O(N)求一个连续数组中缺失的数字
比如int[a]={0,2,3}则输出1 int[b]={0,1,2,3,5,6}输出4 代码如下int main(){ int n; int* a; cout > n; a = new int[n]; for (int i = 0;i < n; i++) { cin >> a[i]; } int x = 0; for (int i = 0; i原创 2022-06-15 16:36:56 · 230 阅读 · 0 评论