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

音乐网站设计总结关键词排名优化软件价格

音乐网站设计总结,关键词排名优化软件价格,深圳做h5网站,wordpress成员资格给定一个包含红色、白色和蓝色、共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.ritt.cn/news/12952.html

相关文章:

  • 建设门户网站的意义郑州网站建设哪家好
  • 网站建设兴田德润国内专业seo公司
  • 网站里自已的微信联系如何做百度品牌广告
  • 网站怎么做关键词优化内容营销成功案例
  • 国外域名购买网站网络营销推广的方法有哪些
  • 新疆土地建设管理局网站查询网站相关网址
  • 网络公司除了做网站如何宣传推广产品
  • 西平县住房城乡建设局网站软文街官方网站
  • 猪八戒网站建设网络服务器
  • 曰本做爰吃奶网站推广方案怎么写
  • 网站的费用深圳营销型网站
  • 赣州新闻联播视频小红书seo排名规则
  • 中山市做网站专业的广州百度推广外包
  • 临沂做网站需要多少钱谷歌app官方下载
  • 网站开发常见面试题电商平台有哪些
  • 网站建设项目申请长沙网络营销推广公司
  • 广州建外贸网站公司简介免费二级域名平台
  • 网站内部代码优化旺道网站优化
  • 做网站必备网络营销的方法
  • 公司做网站主机是什么用途龙岩网站推广
  • 做网站asp互动营销经典案例
  • 专业做网站优化需要多久手机注册网站
  • 用php做网站后台辽宁seo推广
  • 网站建设推广的方法西安网站设计
  • 会展门户网站源码如何注册百度账号
  • 做商铺最好的网站青岛关键词排名系统
  • 成功的网站设计济宁百度推广价格
  • 什么网站可以做试卷电脑清理优化大师
  • Wordpress 整站快速复制网络营销的特点有哪些?
  • 网站开发可选的方案有上海牛巨微seo关键词优化