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

兰州网站程序建设宁德东侨建设局网站

兰州网站程序建设,宁德东侨建设局网站,企业网站定制开发一条龙全包,沈阳制作公司网站题目链接: 链接 题目描述: 思路: 思路一 类似于冒泡排序,遍历一次nums,把0都放在前面,然后再遍历一次,把1放在0后面,剩下的就都是 思路二 上面用一个指针遍历了两次&#xff0…

题目链接:

链接

题目描述:

在这里插入图片描述

思路:

思路一

类似于冒泡排序,遍历一次nums,把0都放在前面,然后再遍历一次,把1放在0后面,剩下的就都是

思路二

上面用一个指针遍历了两次,可以用两个指针只遍历一次

令P0之前的都为0,P1之前的都为1

  1. 刚开始P0和P1就在索引0处,遍历一次nums
  2. 遇到0,和P0交换,遇到1,和P1交换,然后指针前移
  3. 如果 p0 < p1,说明在P0和P1中间有个1,在交换 0 的过程中,将一个 1 交换到了前面,而现在又把0交换到了前面,这个0就占用了1的位置,此时这个1放在了后面,所以需要将这个 1 再交换到 p1 的位置。然后P0++,P1++

思路三

同样用两个指针只遍历一次

令P0之前的都为0,P2之前的都为2

  1. 刚开始P0在索引0处,P2在索引n-1处,遍历一次nums
  2. 遇到0,和P0交换,遇到2,和P2交换,P0前移,P2后移,
  3. 遇到2,和nums[P2]交换,如果nums[P2]也等于2,就会把一个2放在前面,而且不会再遍历到(i一直++,这里已经经过这个位置了,所以不会再遍历到),所以需要循环直到nums[i] != 2
  4. 如果i>P2,就不需要再遍历了

实现代码:

class Solution {public void sortColors(int[] nums) {int n = nums.length;int p = 0;//遍历找到0,移动for(int i = 0; i < n; i++){if(nums[i] == 0){int tmp = nums[i];nums[i] = nums[p];nums[p] = tmp;p++;}}//遍历找到1,移动for(int i = p; i < n; i++){if(nums[i] == 1){int tmp = nums[i];nums[i] = nums[p];nums[p] = tmp;p++;}}}
}
class Solution {public void sortColors(int[] nums) {int n = nums.length;int p0 = 0, p1 = 0;for(int i = 0; i < n ; i++){if(nums[i] == 0){int tmp = nums[i];nums[i] = nums[p0];nums[p0] = tmp;if(p0 < p1){tmp = nums[i];nums[i] = nums[p1];nums[p1] = tmp;}p0++;p1++;}else if(nums[i] ==1){int tmp = nums[i];nums[i] = nums[p1];nums[p1] = tmp;p1++;}}}
}
class Solution {public void sortColors(int[] nums) {int n = nums.length;int p0 = 0, p2 = n-1;for(int i = 0; i < n; i++){if(nums[i] == 0){int tmp = nums[i];nums[i] = nums[p0];nums[p0] = tmp;}while(nums[i] == 2 && i <= p2){int tmp = nums[i];nums[i] = nums[p2];nums[p2] = tmp;p2--;}}}
}
http://www.dtcms.com/wzjs/599602.html

相关文章:

  • 求html码源网站网站 用什么数据库
  • 营销型网站公司名称学做软件的网站
  • 网站托管方式app源码论坛
  • 贵阳响应式网站开发茗匠智能门店管理系统
  • 东莞市官网网站建设平台中山哪里做网站
  • 景区智慧旅游网站建设中国最著名的40个建筑
  • 做简单的html网站网站设置了权限
  • 建站之星最新版本做网站第一次见客户
  • 口腔网站设计图网站建设昆山花桥
  • 企业网站模板免费下载企业网站模板赣州网上房地产
  • 腾讯网网站网址惠州抖音seo策划
  • 大淘客怎么自己做网站外贸营销平台
  • 江苏建设工程交易中心网站seo网站关键字优化
  • 中交建设集团天津公司网站富阳房产网
  • 网站安全建设模板wordpress主题制作slider
  • 微信群推广网站建设网站快速优化
  • 哈尔滨 微网站设计福田企业网站优化有用吗
  • 地州电视网站建设流程网络维护员岗位职责
  • 深圳网络营销的推广性价比高seo排名
  • 哈尔滨小程序开发seo学院培训班
  • 如何建设个人免费网站教程视频怎么做网站服务器吗
  • .net网站开发工程师wordpress本地建站教程
  • 建公司网站建设明细报价表兰州网络推广昔年下拉博客
  • seo网站推广简历怎么样做电商赚钱
  • 用什么网站做浏览器主页wordpress会员登录查询
  • 公司网站维护分工怎么查看一个网站的浏览量
  • 杭州科技公司网站建设湛江做网站多少钱
  • 饮食网站模板沈阳高端做网站建设
  • 九江 网站建设网站seo如何做
  • 潍坊哪个网站建设公司好线上赚钱正规平台