当前位置: 首页 > news >正文

C语言复杂度(个人笔记)

时间复杂度主要衡量一个算法的运行快慢.
空间复杂度主要衡量一个算法运行所需要的额外空间.

时间复杂度

算法中的基本操作的执行次数,为算法的时间复杂度.
只需要大概执行次数,我们使用大O的渐进表示法。(看谁对数学表达式的影响最大)

空间复杂度

是对一个算法在运行过程中临时占用存储空间大小的量度 。
注意:函数运行时所需要的栈空间(存储参数、局部变量、一些寄存器信息等)在编译期间已经确定好了,因此空间复杂度主要通过函数在运行时候显式申请的额外空间来确定。

笔试题

消失的数字
在这里插入图片描述

//解法一:通过异或运算符实现(两个相同的数异或等于0)
int missingNumber(int* nums, int numsSize)
{int ret=0;int i=0;for(i=0;i<numsSize;i++){ret^=nums[i];}for(i=0;i<numsSize+1;i++){ret^=i;}return ret;
}
//解法二:通过数学方法实现(等差数列)
int missingNumber(int* nums, int numsSize)
{int ret=0;int i=0;for(i=0;i<numsSize+1;i++){ret+=i;}for(i=0;i<numsSize;i++){ret-=nums[i];}return ret;
}

旋转数组
在这里插入图片描述

//三逆置解决
void reverse(int* arr,int left,int right)
{while(left<right){int tmp=arr[left];arr[left]=arr[right];arr[right]=tmp;left++;right--;}
}
//另外开辟一块空间,进行拷贝
void rotate(int* nums, int numsSize, int k)
{if(k>numsSize){k%=numsSize;}reverse(nums,0,numsSize-k-1);reverse(nums,numsSize-k,numsSize-1);reverse(nums,0,numsSize-1);
}
http://www.lryc.cn/news/323106.html

相关文章:

  • 与AI机器共存的三个层次
  • python网络爬虫实战教学——requests的使用(1)
  • 腾讯云COS - 前端上传文件到 COS 跨域问题
  • 【笔记】Python学习记录
  • 力扣每日一题 2024/3/21 频率跟踪器
  • 基于SpringBoot 实现指标监控及日志管理
  • Linux之看门狗
  • 第十九章 TypeScript 装饰器Decorator
  • 第十四章 TypeScript tsconfig.json配置文件
  • 科技助力高质量发展:新质生产力的崛起与企业数字化转型
  • Redis - 缓存访问 缓存穿透 缓存击穿 缓存雪崩
  • SAP Business Application Studio(BAS)中开发Fiori App的基础知识
  • DashScope - 阿里模型服务灵积
  • 个人信息-求职[web前端]
  • Apache DolphinScheduler 社区开启讲师招募,赶快加入吧!
  • 【HTML面试题】src和href的区别
  • 电脑文件msvcp100.dll丢失原因,如何快速修复msvcp100.dll
  • 安装OneNote for Win10 | Win10/Win11
  • 力扣242. 有效的字母异位词
  • windows server 下的mysql 8.0.28修改数据库目录
  • 【Excel自动化办公】使用openpyxl对Excel进行读写操作
  • 大龄女程序员脱单指南:如何科学评估你的Mr. Right?(含C语言代码示例)
  • 深入剖析Java并发库(JUC)之StampedLock的应用与原理
  • 【PMP】每日一练2
  • 2024年投影仪显示技术怎么选?哪个好?优缺点详解,买前必看
  • Git Bash命令初始化本地仓库,提交到远程仓库
  • Docker 学习笔记一
  • Git一点通
  • 商标转让有哪些好处 商标转让条件 商标转让流程
  • 诺视科技完成亿元Pre-A2轮融资,加速Micro-LED微显示芯片商业化落地