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

用wampserver搭建网站公司网站注册流程和费用

用wampserver搭建网站,公司网站注册流程和费用,棋牌网站建设源码,响应式旅游网站模版给定一个包含红色、白色和蓝色、共n个元素的数组nums,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排序。 使用整数0、1和2分布表示红色、白色和蓝色。 必须在不使用库内置sort函数的情况下解决这个问题。 示例1&a…

给定一个包含红色、白色和蓝色、共n个元素的数组nums,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排序。

使用整数0、1和2分布表示红色、白色和蓝色。

必须在不使用库内置sort函数的情况下解决这个问题。

示例1:

输入:nums = [2,0,2,1,1,0]
输出:[0,0,1,1,2,2]

示例2:

输入:nums = [2,0,1]
输出:[0,1,2]

提示:

  • n == nums.length
  • 1 <= n <= 300
  • nums[i] 为 01 或 2
  • 进阶:你能想出一个仅使用常数空间的一趟扫描算法吗?

本题是经典的【荷兰国旗问题】,由计算机科学家 Edsger W. Dijkstra 首先提出。

解题思路:

方法一:单指针

两次遍历:在第一次遍历中,将数组中所有的0交换到数组头部。

                  第二次遍历中,将数组中所有的1交换到头部的0之后。

void swap(int *a,int *b)
{int t = *a;*a = *b,*b = t;
}void sortColors(int *nums,int numsSize)
{int ptr = 0;for(int i=0;i<numsSize;++i){if(nums[i]==0){swap(&nums[i],&nums[ptr]);++ptr;}}for(int i=ptr;i<numsSize;i++){if(nums[i]==1){swap(&nums[i],&nums[ptr]);++ptr;}}
}

 时间复杂度:O(n),其中n是数组nums的长度。

 空间复杂度:O(1)

方法二:双指针

使用两个指针分别来交换0和1

void swap(int *a,int *b)
{int t= *a;*a= *b,*b=t;
}void sortColors(int *nums,int numsSize)
{int p0 = 0,p1=0;for(int i=0;i<numsSize;i++){if(nums[i]==1){swap(&nums[i],&nums[p1]);p1++;}else if(nums[i]==0){swap(&nums[i],&nums[p0]);if(p0<p1)  swap(&nums[i],&nums[p1]);++p0,++p1;}}
}

时间复杂度:O(n),其中n是数组nums的长度

空间复杂度:O(1)

方法三:双指针

左指针P0来交换0

右指针P2来交换2

void swap(int *a,int *b)
{int t=*a;*a=*b,*b=t;
}void sortColors(int *nums,int numsSize)
{int p0=0,p2=numsSize-1;for(int i=0;i<p2;i++){while(i<=p2 && nums[i]==2){swap(&nums[i],&nums[p2]);--p2;}if(nums[i]==0){swap(&nums[i],&nums[p0]);++p0;}}
}

时间复杂度:O(n),其中n是数组nums的长度

空间复杂度:O(1)

方法四:记录0 1 2的个数,对其进行赋值即可。

http://www.tj-hxxt.cn/news/41598.html

相关文章:

  • 怎样做seo网站链接北京百度搜索排名优化
  • 网站如何做引流seo要点
  • 网站制作的流程是什么su搜索引擎优化
  • 免费做推广的网站有哪些本地推广最有效的方法
  • 企业网络专线成都网站排名 生客seo
  • 网页设计基础实训原理百度seo培训课程
  • 侯马做网站seo关键词排名优化系统
  • 网站建设开发方式包括seo优化的主要任务包括
  • 网站开发pc版与手机版seo外链资源
  • 做网站播放未上映的电影app拉新接单平台
  • 怎么套网站网销怎么销售的
  • 想做网站怎么跟做网站的公司谈判网站seo优化技巧
  • 做美食如何加入团购网站中国营销网站
  • 中国建设工程交易网百度关键词优化和百度推广
  • 一站式采购平台官网怎样在百度上推广
  • 企业网站排名怎么优化seo百科大全
  • 文本中设置网站超链接怎么做谷歌排名网站优化
  • 做药公司的网站前置审批南京seo推广公司
  • wordpress后台没有写权限长沙专业竞价优化首选
  • 南京网站制作公司哪家靠谱注册网站平台
  • 外贸网站推广建站引流推广接单
  • jsp做网站还网页优化建议
  • 如何与对方网站做相互链接近期国际新闻热点大事件
  • 网站代码在哪里看seo百度站长工具查询
  • 漳浦建设局网站更新推广普通话手抄报模板可打印
  • 手机做网站教程建网站平台
  • 建设厅特种作业操作证查询关键词优化建议
  • 成都高端网站设计网站seo视频教程
  • 烟台网站制作网站优秀的营销案例
  • 一站式网站建设哪家专业热门网站