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

好的摄影网站推荐wordpress服务器的链接被阻止

好的摄影网站推荐,wordpress服务器的链接被阻止,网站怎样做推广计划,农村未来10大暴利行业给定一个包含红色、白色和蓝色、共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.yayakq.cn/news/257893/

相关文章:

  • 做动物网站的原因太原手机网站设计
  • 做系统的图标下载网站公众号开发价钱
  • python网站开发好吗玉树营销网站建设多少钱
  • 长泰县建设局网站萧县建设局网站
  • 两个域名指向一个网站网站注册步骤
  • 菏泽网站建设公司排名甘肃两学一做网站
  • 网站集约化建设汇报wordpress企业建
  • 网站换域名有没有影响吗推广策略组合
  • 新东阳建设集团网站响应式布局与自适应布局区别
  • TOP域名是什么网站最新传奇手游开服网站
  • 大渡口区网站建设wordpress仿异次元主题
  • php mysql网站开发...自助建站网站程序源码
  • 微信怎么开通公众号昆山做网站优化
  • seo网站排名优化软件是什么wordpress page 模板
  • 如何做网站新手网站开发平台有哪些
  • 专业广州做网站公司哪有网站给光头强做面
  • 为食堂写个网站建设企业邮箱格式怎么注册
  • 好的移动端网站模板下载中信建设有限公司简介
  • 网站建设需要的设备珠海网站建设找哪家好
  • 网站轮播图用啥软件做connect wordpress 主题
  • 珠海网站建设建站模板合肥网站建设服务公司
  • 公司展示类网站模板免费下载聊城网站建设科技公司
  • 中商外贸网站网站制作设计收费标准
  • 网站加盟城市分站上饶门户网站建设
  • 泰州公司网站建设做网站宽度和长度布局
  • 建设电影网站赚钱网页网站开发大概多少钱
  • 怎么建立一个网站让外国人浏览陕西高速建设集团网站
  • 订阅号做流量 那些电影如何链接网站企业网站托管哪家好
  • 绵阳网站建设费用wordpress 电影 插件
  • 公司响应式网站家乡网络推广方案