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

山西威力网站建设推荐商城网站开发价

山西威力网站建设推荐,商城网站开发价,大连网站开发选领超科技,网站收录问题目录 #x1f334;时间复杂度练习 #x1f4cc;面试题---消失的数字 题目描述 题目链接#xff1a;面试题 17.04. 消失的数字 #x1f334;解题思路 #x1f4cc;思路1#xff1a; malloc函数用法 #x1f4cc;思路2#xff1a; #x1f4cc;思路3…目录 时间复杂度练习 面试题---消失的数字 题目描述 题目链接面试题 17.04. 消失的数字 解题思路 思路1 malloc函数用法  思路2 思路3 时间复杂度练习 如果有不了解时间复杂度的请移步上一篇文章【数据结构】初识 面试题---消失的数字 题目描述 数组nums包含从0到n的所有整数但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗 题目链接面试题 17.04. 消失的数字 示例 1 输入 [3,0,1] 输出 2 示例 2 输入 [9,6,4,2,3,5,7,0,1] 输出 8 解题思路 思路1 1.开辟一个额外的N1个数的数组即malloc一个额外N1个数的数组建立一个映射关系将数组的值全部初始化为-1 2.遍历这些数字这个数是多少就写到数组的对应位置 3.再遍历一遍数组哪个位置是-1哪个位置的下表就是缺失的数字 因为malloc数组基本没有时间消耗但是初始化时需要循环N1次填数字的时候也循环了N1次最后遍历时最坏也要循环N1次总共3N3次根据大O的渐进表示法就知道时间复杂度O(N)。 时间复杂度是O(N) 代码展示 int missingNumber(int* nums, int numsSize){int* p (int*)malloc((numsSize1) * sizeof(int));for(int i0;inumsSize;i){p[i]-1;}for(int i0;inumsSize;i){p[nums[i]]nums[i];}for(int i0;inumsSize;i){if(p[i]-1){free(p);return i;}}free(p);return -1; } 结果 malloc函数用法  函数声明 void *malloc(size_t size) 头文件 stdlib.h 参数  size --- 内存块的大小以字节为单位。 返回值 该函数返回一个指针 指向已分配大小的内存。为避免内存泄漏必须用 free() 或 realloc() 解分配返回的指针。如果请求失败则返回 NULL。 示例 double * pt; pt (double * ) malloc (30 * sizeof(double));这段代码请求30个double类型值的空间并且让pt指向该空间所在位置。  在释放空间时只需如下操作 free(pt); 思路2 异或------符号^ 用一个 x 0x跟数组中的这些数据都异或一遍 然后再跟0-N之间的数字异或一遍最后x才是缺失的数字。 注意❗️0^x x       ❗️ a^a 0            ❗️异或满足交换律和结合律即1^2^3^1^2 1^1^2^2^3 3 因为第一遍异或时需要循环N次第二遍也需要N次总共2N次根据大O的渐进表示法就知道时间复杂度为O(N)。 时间复杂度O(N) 代码展示 int missingNumber(int* nums, int numsSize){int x0;for(int i 0;i numsSize; i){x ^ nums[i];}for(int j 0;j numsSize1; j){x ^ j;}return x; } 注意 这里* nums表示存放0-N中缺失了一个数字后的所有数字的数组一共有numsSize个而0-N之间一共有numsSize1个数。 结果 思路3 公式计算 1.求0-N这些数的和利用求和公式 2.再求数组中存放的这些数的和用for循环 3.将第一次求的和减去第二次求的和即为缺失的数字 因为第一次求和使用公式所以基本不消耗时间第二次求和进行了N次循环总共N次根据大O的渐进表示法就知道时间复杂度为O(N)。 时间复杂度O(N) 代码展示  int missingNumber(int* nums, int numsSize){ int sum ((numsSize 1) * numsSize) / 2; for (int i 0;i numsSize; i) {sum -*(numsi); } return sum; } 结果 今天的分享就到这里如果觉得博主的文章还不错的话请三连支持一下博主哦
http://www.pierceye.com/news/722943/

相关文章:

  • 企业推广建站网页开发教程
  • 外贸网站定制开发网站虚拟主机过期
  • 学习网站建设要报班吗中国建设银行晋中分行网站
  • 学校网站建设经验介绍西安建设网站公司
  • 江西营销网站建设公司的企业诚信建设分析
  • 生活家装饰官方网站动画设计考研
  • 网站内部的信息安全建设怎么才能在百度上做引流呢
  • 男男做的视频网站wordpress 系统
  • 网站建设合同 附件上海网站制作费用
  • 知名的环保行业网站开发开发一个app难吗
  • 律师网站建设方案网站企业制作
  • 基础建设期刊在哪个网站可以查做网站咨询
  • 万网个人网站备案查询甘肃建设银行网站
  • 网站建设有什么费用wordpress国外主题网站
  • 手机网站下拉菜单代码com域名代表什么
  • 网站右侧信息跟随左侧菜单栏变化好牛网站建设
  • 手机网站pc网站免费国外服务器租用
  • 商城网站建设服务wordpress手机导航三横拦
  • app设计欣赏网站长沙制作公园仿竹护栏
  • 景泰县做网站网站建设上市
  • 电子商务网站开发课题简介php mysql网站开发...
  • 如何提升网站alexa排名wordpress加联系方式
  • 餐厅网站模版wordpress linux
  • 网站seo优化怎么做mes系统
  • 江津网站建设公司做外贸去哪个网站找客户
  • 网站建设-部署与发布wordpress怎么代码高亮
  • 自己做的网站本地虚拟上传wordpress 不能评论
  • 百度贴吧网站开发需求分析怎么免费自己做推广
  • 网站怎么访问自己做的网页中国园林网
  • 郑州服装网站建设做营销型网站用那个cms好