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

现在网站建设还用测浏览器吗广东建设信息网粤建通

现在网站建设还用测浏览器吗,广东建设信息网粤建通,免费网站建设多少钱,汽车品牌大全汽车网1. 数组分两块 1.1 题目 题目描述:给一个数组 nums ,写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序 请注意,必须在不复制数组的情况下原地对数组进行操作 示例: 输入: nums [0,1,0…

1. 数组分两块

1.1 题目

题目描述:给一个数组 nums ,写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序

请注意,必须在不复制数组的情况下原地对数组进行操作

示例:

        输入:

             nums = [0,1,0,3,12]

        输出:

             nums = [1,3,12,0,0]

class Solution
{public:void moveZeroes(vector<int>& nums){}
};

1.2 思想

无非是将数组分为三部分,第一部分为非0元素,第二部分为全0元素,第三部分为待扫描元素

我们可以定义一个下标 cur 来作为分界线,定义 i 来遍历数组,[ 0,cur ]为非0元素,[ cur+1,i ]为0元素,[ i,n-1 ]为待扫描元素

1.3 模拟实现

#include<vector>
class Solution
{
public:void moveZeroes(vector<int>& nums){//定义cur表示非0和0两块的分界线,i来遍历数组//因为,cur标记[ 0,cur ],所以cur初始为0int cur = -1, i = 0;while (i != nums.size()){//如果nums[i]==0,直接i++,将这个数纳入[cur+1,i]这个范围if (nums[i] == 0) i++;//如果nums[i]!=0,已知[0,cur],[cur+1,i],[i,n-1]这3个范围,将nums[cur+1]和nums[i]交 //换,再将cur++,把这个数纳入[0,cur]的范围else{swap(nums[cur + 1], nums[i]);cur++;i++;}}}
};

2. 数组分三块

2.1 题目

题目描述:给一个包含红色、白色和蓝色、共 n 个元素的数组 nums1,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列

我们使用整数0、1和2分别表示红色、白色和蓝色

必须在不使用库内置的 sort 函数的情况下解决这个问题

示例:

输入: nums = [ 2,0,2,1,1,0 ]

输出:   nums = [ 0,0,1,1,2,2 ]

class Solution {
public:void sortColors(vector<int>& nums) {}
};

2.2 思想

和荷兰国旗问题一样,这类问题就是将数组分为三块,我们可以再填加一个指针(数组下标)

这里数组大小设为 n,定义三个指针:left,i,right

[ 0,left ] 为0,[ left+1,i-1 ]为1,[ i,right-1]为未扫描,[ right,n-1 ]为2

2.3 模拟实现

#include<vector>
class Solution {public:void sortColors(vector<int>& nums) {//[0,left],要包含0,left初始化为-1//[right,n-1],要包含下标n-1,right初始化为数组大小int left = -1, i = 0, right = nums.size();while (i < right){//[0,left],[left+1,i-1],[i,right-1],[right,n-1]//nums[i]和nums[left+1]交换,left++就可以将0放入[0,left]中if (nums[i] == 0){swap(nums[i], nums[left + 1]);left++;i++;}else if (nums[i] == 1){i++;}//nums[i]和nums[right-1]交换,right--,将2放入[right,n-1]中//注意:nums[right-1]还没有判断,交换后也没有判断,所以i不能++else {swap(nums[i], nums[right - 1]);right--;}}}
};


文章转载自:

http://QoS0l1NB.mrpqg.cn
http://Og0BpACn.mrpqg.cn
http://LVcEpJ4Y.mrpqg.cn
http://pfbBQCaP.mrpqg.cn
http://6fefzcAF.mrpqg.cn
http://3TIo5LCI.mrpqg.cn
http://H3vbmY1M.mrpqg.cn
http://8e3hRMju.mrpqg.cn
http://5fitjOff.mrpqg.cn
http://jKCCN9Q5.mrpqg.cn
http://w52cL4st.mrpqg.cn
http://LZDz7gQ6.mrpqg.cn
http://tnw0WrAo.mrpqg.cn
http://BwFYKWiQ.mrpqg.cn
http://p3naMI0d.mrpqg.cn
http://vEhcJUBW.mrpqg.cn
http://yUK9QbH2.mrpqg.cn
http://31wamBjV.mrpqg.cn
http://PEzIQDEU.mrpqg.cn
http://s6hoptrx.mrpqg.cn
http://oBg4Do7z.mrpqg.cn
http://2K7B3TRg.mrpqg.cn
http://tB2TtdHD.mrpqg.cn
http://yeH4d3mU.mrpqg.cn
http://N6NdKq3Z.mrpqg.cn
http://uqoc6TC0.mrpqg.cn
http://yJ9UgzgH.mrpqg.cn
http://u4Qj1av3.mrpqg.cn
http://GiXSF5G5.mrpqg.cn
http://o48B0NmX.mrpqg.cn
http://www.dtcms.com/wzjs/647139.html

相关文章:

  • 深圳有哪些网站开发公司搜索引擎优化的概念
  • 连云港百度推广网站建设poedit wordpress
  • 制作手机网站建设小程序商城一般哪家好
  • 湛江做网站的网站2021跨境电商最火的产品
  • 网站推广网络推广浙江大学微纳加工平台
  • 专业做域名的网站简单个人网站开发
  • photoshop网站设计呼伦贝尔寰宇网站建设
  • wordpress 获取当前分类id商城网站 不易优化
  • 微小店网站建设多少钱上海市场调研公司
  • 学做网站论坛视频下载从化做网站开发
  • 建网站保定做网站如何报价
  • 做微官网什么网站好网站导航条内容
  • 陕西网站开发公司哪家好小红书推广怎么收费
  • 电脑安装免费的wordpress杭州seo薪资水平
  • 我想做个网站怎么弄推广文案标题
  • 制作介绍的网站模板wordpress菜单出不来
  • 公司做网站需要一个微信小程序需要多少钱
  • 国外做的好的电商网站推荐做游戏网站要备案吗
  • 让网站快速收录没有静态ip可以做网站服务器
  • 国外 优秀网站设计做免费外贸网站册域名
  • 免费淘宝客网站模板宁德网站建设维护
  • 找人做的网站怎么看ftp建网站公司
  • 哪个网站做招聘海报比较好肥城网站开发公司
  • 百度上面做企业网站怎么做厦门建设局官网电话
  • 怎么才能打开一些网站荆州松滋网站建设
  • 怎么做网站内容杭州网站建设网
  • 电商网站安全解决方案寄生虫网站代做
  • 高校网站建设 安全教育手机网站 免费
  • 网站简历模板浙江省工程建设管理质量协会网站
  • 哪个网站查食品建设好制作简易网站