深圳市住房和建设局门户网站,wordpress 书籍主题,网站左侧分类菜单怎么做,江苏建设工程招投标网站时间复杂度主要衡量一个算法的运行快慢. 空间复杂度主要衡量一个算法运行所需要的额外空间.
时间复杂度
算法中的基本操作的执行次数#xff0c;为算法的时间复杂度. 只需要大概执行次数#xff0c;我们使用大O的渐进表示法。(看谁对数学表达式的影响最大)
空间复杂度
是…时间复杂度主要衡量一个算法的运行快慢. 空间复杂度主要衡量一个算法运行所需要的额外空间.
时间复杂度
算法中的基本操作的执行次数为算法的时间复杂度. 只需要大概执行次数我们使用大O的渐进表示法。(看谁对数学表达式的影响最大)
空间复杂度
是对一个算法在运行过程中临时占用存储空间大小的量度 。 注意函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因此空间复杂度主要通过函数在运行时候显式申请的额外空间来确定。
笔试题
消失的数字
//解法一:通过异或运算符实现两个相同的数异或等于0
int missingNumber(int* nums, int numsSize)
{int ret0;int i0;for(i0;inumsSize;i){ret^nums[i];}for(i0;inumsSize1;i){ret^i;}return ret;
}
//解法二:通过数学方法实现等差数列
int missingNumber(int* nums, int numsSize)
{int ret0;int i0;for(i0;inumsSize1;i){reti;}for(i0;inumsSize;i){ret-nums[i];}return ret;
}旋转数组
//三逆置解决
void reverse(int* arr,int left,int right)
{while(leftright){int tmparr[left];arr[left]arr[right];arr[right]tmp;left;right--;}
}
//另外开辟一块空间进行拷贝
void rotate(int* nums, int numsSize, int k)
{if(knumsSize){k%numsSize;}reverse(nums,0,numsSize-k-1);reverse(nums,numsSize-k,numsSize-1);reverse(nums,0,numsSize-1);
}