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

做多语言网站教程竞价网站

做多语言网站教程,竞价网站,搜索引擎推广一般包括哪些,做静态页面的网站目录 🚩了解题意 🚩算法分析 第一种方法:双指针 🚩代码实现一 第二种方法:三指针 🚩代码实现二 🚩了解题意 本题将整数0,1,2代表红白篮,nums中的整数并…

目录

🚩了解题意

🚩算法分析

第一种方法:双指针

🚩代码实现一

第二种方法:三指针

🚩代码实现二


🚩了解题意

本题将整数0,1,2代表红白篮,nums中的整数并不是按照红白蓝的顺序排列,我们要做的就是让nums中的整数按红白蓝排列,比如样例中的nums={2,0,2,1,1,0}最终按照红0白1篮2的顺序排列,最终的结果是{0,0,1,1,2,2}。

就是将0红排列在一起,1白排列在一起,2蓝排列在一起。


🚩算法分析

第一种方法:双指针

利用i进行遍历数组,ptr来进行划分范围,最终得到的结果是

[0,ptr-1] 红色

[ptr,size-1] 白色和蓝色

如果nums[i]==0的时候我们就将nums[i]的值和nums[ptr]的值交换,然后ptr++

i遍历完之后,我们看到所有的0都再最左边,再进行一次遍历,但是这时候的i是从ptr开始的

因为上面nums[i]和nums[ptr]交换位置之后,ptr++,所以ptr再下标2的位置。i从下标2开始进行。

如果遇到nums[i]==1的时候,我们就将nums[i]和nums[ptr]交换位置,ptr++。


🚩代码实现一

class Solution {
public:void sortColors(vector<int>& nums) {int n = nums.size();int ptr = 0;for (int i = 0; i < n; ++i) {if (nums[i] == 0) {swap(nums[i], nums[ptr]);++ptr;}}for (int i = ptr; i < n; ++i) {if (nums[i] == 1) {swap(nums[i], nums[ptr]);++ptr;}}}
};

第二种方法:三指针

利用i来遍历数组,left作为左指针,right作为右指针

如果nums[i]==0,先让left++,然后与nums[i]和nums[left]交换位置,然后i++。

如果nums[i]==2,先让--right,然后与nums[i]和nums[right]交换位置。

注意:这里的i并不往后走,因为i是待扫描的区域,就是Num[i]是未知的数字,我们要继续判断nums[i]是等于多少,再进行一次判断。

此时继续判断nums[i]等于多少,此时的nums[i]==2,那么让right先--,然后交换nums[i]和nums[right]的值。

如果我们不知道nums[i]的值,我们就不能让i++.

如果nums[i]==1,我们直接就让i++

最终的循环判断条件就是 i<right即可,i与right相遇就结束循环。


🚩代码实现二

class Solution {
public:void sortColors(vector<int>& nums) {int left=-1,right=nums.size();int n=nums.size();int i=0;while(i<right){if(nums[i]==0)swap(nums[++left],nums[i++]);else if(nums[i]==1)i++;else swap(nums[--right],nums[i]);//此时的i不能++,因为i对应的值是未扫描的部分}}
};

关关难过。

http://www.hrbkazy.com/news/16180.html

相关文章:

  • 办公空间设计网站崇左seo
  • 一家专做节日商品的网站windows优化大师破解版
  • 顺德做网站那家好seo关键词排名优化销售
  • 网站建设个人建设优化设计六年级上册数学答案
  • 网页版淘宝网登录入口西安seo站内优化
  • 网站开发人员 把网站注销摘抄一篇新闻
  • 学做网站论坛vip账号汕头网站制作设计
  • 网站建设文化策划书济南网络推广公司电话
  • 做网站需要的知识电子商务网站建设教程
  • 网站建设及空间seo营销方案
  • 佛山网站制作平台好看的网站设计
  • wap网站设计规范外链相册
  • 国内电商网站有哪些电商详情页模板免费下载
  • 吉安网站建设jajjjcseo推广怎么收费
  • 苏州做网站的专业公司哪家好小吃培训
  • 免费淘宝客网站模板模板建站价格
  • 沈阳学网站制作学校市场营销推广活动方案
  • 营销网站设计包括域名信息查询
  • 做网站哪个地方需要钱郑州做网站推广资讯
  • 专门做考研的网站东营seo整站优化
  • wordpress gallery类型邯郸网站优化
  • 辽阳网站设计百度竞价推广开户多少钱
  • 做网站建设的公司排名新闻发稿平台
  • 上海网站公安局不备案seo深圳培训班
  • 宿迁网站建设推广广州市口碑全网推广报价
  • 用手机做自己的网站廊坊网站排名优化公司哪家好
  • 济南品牌网站建设介绍郑州网站推广优化
  • wifi推广小程序搭建seo推广软件品牌
  • 网站页面设计最宽可做多宽网站建设公司推荐
  • 网站开发前端简历优化整站