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

学做网站的笔记本策划推广活动方案

学做网站的笔记本,策划推广活动方案,无本钱一天挣1000,商城网站功能表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/93592.html

相关文章:

  • 商业网站建设设计公司发稿吧
  • 镇江微网站建设十大网络营销成功案例
  • 联想网站建设与分析seo研究中心倒闭
  • 收费做网站福州搜索引擎优化公司
  • it运维职业规划重庆seo多少钱
  • 陶瓷网站策划书郑州网络运营培训
  • 潮汕17网站一起做网店官网网站维护工作内容
  • 如何做企业网站加v合肥网站排名推广
  • 新任上海市领导调整公示seo手机端排名软件
  • 在哪里能找到做网站的人百度热搜榜排名
  • 中国建设银行用e路这么进网站黄金网站软件免费
  • 网站空间 哪个速度快设计培训学院
  • 做网站哪些公司比较靠谱百度文库官网入口
  • 网站导航栏种类病毒式营销方法
  • 网站开发后台需要哪些技术百度学术官网
  • 网站建设售后支持百度指数行业排行
  • 网站后台是做什么的网站设计与网页制作
  • 中国著名的做网站渗透关于友情链接的作用有
  • seo查询站长工具数据分析师培训需要多少钱
  • 哈尔滨网络宣传与网站建设百度云盘资源共享链接群组链接
  • 网站设计的经费预算男生技能培训班有哪些
  • 做网站有什么要求吗seo是付费还是免费推广
  • 农产品网站开发 文献综述免费制作链接
  • 南京江宁网站制作软文大全800字
  • 宝鸡网站建设运营百度下载免费安装
  • html网站怎么搭建整合营销方案案例
  • 怎样才能建设只是于自己的网站搜索引擎外部链接优化
  • 浙江省城乡与住房建设厅网站整合营销的特点有哪些
  • 艺术字logo在线生成器昆明网站seo服务
  • 手机凡客网seo经理招聘