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

抚州做网站百度关键词优化大师

抚州做网站,百度关键词优化大师,wordpress产品开启评论,社交网站开发用到的技术1. 题目 2. 思路和题解 这道题是很经典的荷兰国旗问题,根据题目意思,要对这个数组按照颜色排序,而此时现在的红、白、蓝三个颜色分别对应0,1,2,因此可以想到使用冒泡排序对该数组进行排序。 代码如下&…

1. 题目

在这里插入图片描述

2. 思路和题解

这道题是很经典的荷兰国旗问题,根据题目意思,要对这个数组按照颜色排序,而此时现在的红、白、蓝三个颜色分别对应0,1,2,因此可以想到使用冒泡排序对该数组进行排序。
代码如下:

class Solution {public void sortColors(int[] nums) {for (int i = 0; i < nums.length; i++) {for (int j = nums.length - 1; j > i; j--) {if (nums[j - 1] > nums[j]) {int temp = nums[j];nums[j] = nums[j - 1];nums[j - 1] = temp;}}}}
}

虽然这种方法可以通过,但是时间复杂度很高,然后查看了官方给出的题解,官方是先统计数组中0,1,2的个数,然后根据他们的数量,重写整个数组。初始化两个指针分别指向0和nums.length - 1,然后如果遇到0,就交换到数组的头部,遇到2,就交换到数组的尾部,当遍历的数组超过了右指针,则遍历结束。这一需要注意的一点是,当找到2时,需要不断地将其进行交换,直到新的nums[i]不为2,才能停止交换。
代码如下:

class Solution {public void sortColors(int[] nums) {int left = 0, right = nums.length - 1;for (int i = 0; i <= right; ++i) {while (i <= right && nums[i] == 2) {int temp = nums[i];nums[i] = nums[right];nums[right] = temp;--right;}if (nums[i] == 0) {int temp = nums[i];nums[i] = nums[left];nums[left] = temp;++left;}}}
}

用这种方法,时间复杂度就低很多了,也能更适用于普遍的情况。

http://www.dtcms.com/wzjs/379596.html

相关文章:

  • 微小旅行社能否做网站云速seo百度点击
  • 武汉哪些网站建设百度收录查询api
  • 网站设计与制作优点河北高端网站建设
  • 多语言多风格网站方案省好多会员app
  • 百度云服务器做php网站南平seo
  • 求做图的网站百度上做推广怎么收费
  • 铁建设文件在什么网站下载搜索引擎营销是什么意思
  • 品牌展示榜ui做的好的网站网页优化seo公司
  • 优惠券网站怎么做的淘宝的前100个关键词排名
  • wordpress 更改icon网站快速优化排名官网
  • 做网站网页免费推广引流平台
  • 哪个平台做网站好天天外链官网
  • 广州有哪些做网站专业的公司搜索引擎优化方法总结
  • 做网站软件图标是一个箭头的搜狗推广登录
  • 二手交易网站设计怎么做seo数据分析哪些方面
  • 为什么做网站必须用服务器网络推广培训班
  • 网站开发是web开发吗b站视频怎么快速推广
  • 一个大网站需要多少钱深圳seo优化方案
  • 重庆网站开发公搜索排名优化公司
  • 正规网站模板设计厦门seo公司到1火星
  • 商城类网站总体功能策划做百度推广销售怎么样
  • 网站搜索排名优化价格西安危机公关公司
  • 微信网站建设方案ppt百度怎么投广告
  • 合肥如何做百度的网站推广怎么创建网页
  • 茂名做网站的公司百度推广登录入口下载
  • 汉字市城乡建设规划局官方网站网络营销案例分析题
  • 滕州本地网站建设石家庄百度关键词优化
  • 皖icp备 网站建设能够免费换友链的平台
  • 广东在线网站建设推广app赚钱项目
  • 网站建设属于劳务吗免费百度下载