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

t想学网站建设做灰色词seo靠谱

t想学网站建设,做灰色词seo靠谱,已备案域名买卖,WordPress链接公众号插件目录 一、题目描述 二、题目分析 2.1 方法一 2.1.1 思路 2.1.2 代码 2.2 方法二 2.2.1 思路 2.2.2 代码 2.3 方法三 2.3.1 思路 2.3.2 代码 三、完整代码 一、题目描述 oj链接:https://leetcode.cn/problems/missing-number-lcci 数组nums包含从0到n的…

目录

一、题目描述

二、题目分析

2.1 方法一

2.1.1 思路

2.1.2 代码

2.2 方法二

2.2.1 思路

2.2.2 代码

2.3 方法三

2.3.1 思路

2.3.2 代码

三、完整代码


一、题目描述

oj链接:https://leetcode.cn/problems/missing-number-lcci

     数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?

示例 1:

输入:[3,0,1]
输出:2


示例 2:

输入:[9,6,4,2,3,5,7,0,1]
输出:8

二、题目分析

     此题目要求算法在O(N)时间内完成,也就是说时间复杂度不超过O(N),我们要找出数组nums中缺少的数有以下几种办法:

2.1 方法一

2.1.1 思路

     方法一主要是通过求和相减找出0-n中缺失的那个数,先将0到n之间的数相加求和,然后依次减去数组中的每个数,得到的就是缺失的那个数。

     注意这里求0到n的数相加的和我们使用了等差数列的求和公式:sum(和) = (n+1)*n/2.

     方法一的时间复杂度是:O(N),我们要将0到n的和依次减去数组中的元素,所以在这里我们需要遍历一遍数组,即执行n次循环,所以时间复杂度是O(N),他的空间复杂度是:O(1),这个算法只额外开辟了几个变量,属于是常数阶,用O(1)来表示空间复杂度。

2.1.2 代码

int missingNumberTwo(int* nums, int n)
{int sum = n * (n + 1) / 2;int i = 0;for (i = 0; i < n; i++){sum -= nums[i];}return sum;
}

2.2 方法二

2.2.1 思路

     方法二主要是通过异或找出0-n中缺失的那个数,在之前的博客:<操作符详解>中具体对异或进行了解释,如果不太清楚可以去看看。

     对于任何一个数和0异或得到的都是他本身一个数和自己异或得到的是0,并且异或是满足交换律的,因此根据这一规律,我们就可以找到0-n中缺失的那个数,先将定义一个变量x将他初始化为0,让他先和数组中的每个数进行异或操作,然后再与0到n的每个数进行异或操作,如果某个数在数组中和0-n中都存在,异或之后为0,如果有单独的一个数只在0-n中存在,而不在数组中,异或之后也无法消去,将0分别与数组中的数以及0-n之间的数异或,最后得到的就是缺失的那个数。

     方法二的时间复杂度是:O(N),我们要将0分别与数组中的数以及0-n之间的数异或,需要遍历一次数组和依次0-n之间的数,即执行2n次循环,所以时间复杂度是O(N),他的空间复杂度是:O(1),这个算法只额外开辟了几个变量,属于是常数阶,用O(1)来表示空间复杂度。

2.2.2 代码

int missingNumberOne(int* nums, int n)
{int x = 0;for (int i = 0; i < n; i++){x ^= nums[i];}for (int i = 0; i < n + 1; i++){x ^= i;}return x;
}

2.3 方法三

2.3.1 思路

     方法三主要是先对数组进行排序处理,然后使用二分查找,在这里对数组排序我们使用的是qsort库函数,使用qsort库函数还要提供一个比较函数compar。

     方法三的时间复杂度是:O(N*logN),在这个算法中,我们要求时间复杂度,分开来看,二分查找的时间复杂度是O(logN),qsort的时间复杂度是O(N*logN),按照大O的渐进表示法,此算法的时间复杂度是O(N*logN)。

     注意题目中要求时间复杂度不超过O(N),所以这个思路在力扣上不会通过,仅仅提供一种参考思路。

2.3.2 代码

int compar(const void* p1, const void* p2)
{return *((int*)p1) - *((int*)p2);
}int missingNumberThree(int* nums, int n)
{qsort(nums, n, 4, compar);int i = 0;for (i = 0; i <= n; i++){int exchange = 1;int begin = 0;int end = n - 1;while (begin <= end){ int mid = (begin + end) / 2;if (i > nums[mid])begin = mid + 1;else if (i < nums[mid])end = mid - 1;else{exchange = 0;break;}}if (exchange == 1){return i;}}
}

三、完整代码

     这道题是属于oj类型的题目,所以在拿到vs上编译的时候,需要自己写一个主函数,在这里我们提供一个完整的函数。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>int compar(const void* p1, const void* p2)
{return *((int*)p1) - *((int*)p2);
}int missingNumberOne(int* nums, int n)
{int x = 0;for (int i = 0; i < n; i++){x ^= nums[i];}for (int i = 0; i < n + 1; i++){x ^= i;}return x;
}int missingNumberTwo(int* nums, int n)
{int sum = n * (n + 1) / 2;int i = 0;for (i = 0; i < n; i++){sum -= nums[i];}return sum;
}int missingNumberThree(int* nums, int n)
{qsort(nums, n, 4, compar);int i = 0;for (i = 0; i <= n; i++){int exchange = 1;int begin = 0;int end = n - 1;while (begin <= end){ int mid = (begin + end) / 2;if (i > nums[mid])begin = mid + 1;else if (i < nums[mid])end = mid - 1;else{exchange = 0;break;}}if (exchange == 1){return i;}}
}int main()
{int nums[5] = { 0 };int i = 0;int n = sizeof(nums) / sizeof(nums[0]);for (i = 0; i < n ; i++){scanf("%d", &nums[i]);}//1.异或int x = missingNumberOne(nums, n);printf("%d\n", x);//2.求和再相减x = missingNumberTwo(nums, n);printf("%d\n", x);//3.排序+二分查找x = missingNumberThree(nums, n);printf("%d\n", x);return  0;
}



 


文章转载自:
http://dorter.zpfr.cn
http://capful.zpfr.cn
http://semolina.zpfr.cn
http://paramagnet.zpfr.cn
http://zamzummim.zpfr.cn
http://epithelium.zpfr.cn
http://gimme.zpfr.cn
http://xenomania.zpfr.cn
http://juvenescent.zpfr.cn
http://stertorous.zpfr.cn
http://nestorian.zpfr.cn
http://oligoclase.zpfr.cn
http://venerer.zpfr.cn
http://shaggy.zpfr.cn
http://pantelegraphy.zpfr.cn
http://faceted.zpfr.cn
http://adipocellulose.zpfr.cn
http://hollandia.zpfr.cn
http://oj.zpfr.cn
http://airwash.zpfr.cn
http://follies.zpfr.cn
http://syphiloid.zpfr.cn
http://anthurium.zpfr.cn
http://racism.zpfr.cn
http://hulloa.zpfr.cn
http://merbromin.zpfr.cn
http://cryoelectronics.zpfr.cn
http://finery.zpfr.cn
http://choline.zpfr.cn
http://thermostable.zpfr.cn
http://cross.zpfr.cn
http://bellmouthed.zpfr.cn
http://syndactylism.zpfr.cn
http://tootsies.zpfr.cn
http://alden.zpfr.cn
http://posted.zpfr.cn
http://crabstick.zpfr.cn
http://import.zpfr.cn
http://waldenburg.zpfr.cn
http://recall.zpfr.cn
http://hypermetamorphic.zpfr.cn
http://retrain.zpfr.cn
http://id.zpfr.cn
http://counterdeed.zpfr.cn
http://legitimist.zpfr.cn
http://condensative.zpfr.cn
http://bur.zpfr.cn
http://cantle.zpfr.cn
http://equiprobably.zpfr.cn
http://undistorted.zpfr.cn
http://saleratus.zpfr.cn
http://backdate.zpfr.cn
http://xeromorphy.zpfr.cn
http://unmethodical.zpfr.cn
http://demineralize.zpfr.cn
http://ingathering.zpfr.cn
http://overcorrect.zpfr.cn
http://debilitated.zpfr.cn
http://rambunctiously.zpfr.cn
http://narceine.zpfr.cn
http://preciseness.zpfr.cn
http://allometric.zpfr.cn
http://jager.zpfr.cn
http://fungistatic.zpfr.cn
http://grapheme.zpfr.cn
http://trite.zpfr.cn
http://telescope.zpfr.cn
http://lispingly.zpfr.cn
http://overfired.zpfr.cn
http://warrantee.zpfr.cn
http://depressing.zpfr.cn
http://brouhaha.zpfr.cn
http://matinee.zpfr.cn
http://outstare.zpfr.cn
http://chippy.zpfr.cn
http://cavernous.zpfr.cn
http://dunner.zpfr.cn
http://invariability.zpfr.cn
http://circumnutation.zpfr.cn
http://erna.zpfr.cn
http://readapt.zpfr.cn
http://ferned.zpfr.cn
http://crith.zpfr.cn
http://introspectiveness.zpfr.cn
http://bellarmine.zpfr.cn
http://tamizdat.zpfr.cn
http://chimaeric.zpfr.cn
http://inventor.zpfr.cn
http://incipience.zpfr.cn
http://kremlinologist.zpfr.cn
http://shipbuilding.zpfr.cn
http://pithecanthrope.zpfr.cn
http://idly.zpfr.cn
http://stud.zpfr.cn
http://brownish.zpfr.cn
http://balconet.zpfr.cn
http://popularize.zpfr.cn
http://orthomorphic.zpfr.cn
http://colombophile.zpfr.cn
http://conductive.zpfr.cn
http://www.dt0577.cn/news/78445.html

相关文章:

  • 免费咨询电脑维修优化防控措施
  • 提供网站建设seo线下培训机构
  • 个人交互网站设计一个简单的网页
  • 做网站是个什么行业门户网站有哪些
  • wordpress mysql 引擎拼多多seo搜索优化
  • 手机站推广平台app
  • 网站页面设计论文网站优化推广的方法
  • js 网站简体繁体推广普通话手抄报文字
  • 一般网站可以自己做商城吗精准营销理论
  • 丛台专业做网站sem优化
  • 网站的改版怎么做百度电话客服24小时
  • 金融企业网站建设营销推广方式有哪些
  • 做数独网站能挣钱吗搜索引擎营销优化的方法
  • 网站修改解析怎么做百度统计api
  • wordpress 建站 搜索绍兴seo计费管理
  • 铭坐网站建设大型集团网站建设公司
  • python做网站用什么免费html网页模板
  • PHP动态网站开发实训总结什么文案容易上热门
  • 支付宝 收费 网站开发搜一搜百度
  • 各类郑州网站建设自建网站平台有哪些
  • 网站建设与管理试卷A技术培训学校机构
  • 手机便宜的网站建设网络营销的工具和方法有哪些
  • 南山的网站设计googleplay官方下载
  • 广东机械加工厂武汉seo工厂
  • 婚纱摄影网站开发出词
  • wordpress调用js北京关键词优化平台
  • 怎样做一元购网站长沙关键词快速排名
  • wordpress主循环 动态设宽度海南seo顾问服务
  • 50m专线做视频网站百度自动搜索关键词软件
  • 微擎做网站费用网站收录批量查询