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

毕业网站建设ppt儿童教育自适应网站模板

毕业网站建设ppt,儿童教育自适应网站模板,1150网站建设服务器主板,设计图案大全图片双指针法#xff08;快慢指针法#xff09;在数组、字符串和链表的操作中是非常常见的#xff0c;这里结合力扣上的题进行可一下梳理#xff0c;主要的思路是我们要明确快指针指的是什么#xff0c;慢指针指的是什么。 1. 移除元素类问题 27. 移除元素 要我们移除目标元…双指针法快慢指针法在数组、字符串和链表的操作中是非常常见的这里结合力扣上的题进行可一下梳理主要的思路是我们要明确快指针指的是什么慢指针指的是什么。 1. 移除元素类问题 27. 移除元素 要我们移除目标元素返回移动后元素的新长度。 快指针原数组的索引这里是fast慢指针移除后数组的索引这里是slow 我们循环时一定是快指针遍历整个数组然后慢指针根据条件移动如果发现快指针不等于指定的目标元素valnums[fast] ! val我们对当前的nums[slow]赋值为nums[fast]让后slow自增。 class Solution { public:int removeElement(vectorint nums, int val) {int slow 0;for (int fast 0; fast nums.size(); fast){if (nums[fast] ! val)nums[slow] nums[fast];}return slow;} };26. 删除有序数组中的重复项 要我们移除数组重复的元素返回移动后元素的新长度。 快指针原数组的索引这里是fast慢指针移除后数组的索引这里是slow 为了看是否有重复项我们一定是比较nums[fast]和nums[fast - 1]看是否相等如果不相等说明不重复我们可以把当前的nums[fast]赋值给nums[slow]并且slow往前移动一位为了fast-1不越界fast的遍历应该从1开始也是遍历整个数组既然从1开始slow的初始值也应该是1因为第一个元素我们认为不需要删除。 class Solution { public:int removeDuplicates(vectorint nums) {int slow 1;for (int fast 1; fast nums.size(); fast){if (nums[fast] ! nums[fast - 1])nums[slow] nums[fast];}return slow;} };283.移动零 要我们把零全部移动到最后一种直观的思路是使用移除元素的方法把零移除完然后从这时的slow开始把数组后面的值都赋值为0 快指针原数组的索引这里是fast慢指针移除后数组的索引这里是slow class Solution { public:void moveZeroes(vectorint nums) {int slow 0;for (int fast 0; fast nums.size(); fast){if (nums[fast] ! 0)nums[slow] nums[fast];}for (; slow nums.size(); slow){nums[slow] 0;}} };但我们要移动0其实也可以直接进行位置的调换每当发现一个nums[fast]的值不为0我们就调换当前nums[slow]和nums[fast]的值(而不是把nums[fast]直接幅值给nums[slow])然后slow自增 class Solution { public:void moveZeroes(vectorint nums) {int slow 0;for (int fast 0; fast nums.size(); fast){if (nums[fast] ! 0){swap(nums[slow], nums[fast]);}}} };增加元素类题目 1089. 复写零 要我们对输入的数组就地进行上述修改将该数组中出现的每个零都复写一遍并将其余的元素向右平移。 快指针原数组的索引这里是i慢指针复写零新数组的索引这里是j 按照题目要求如果原数组的元素arr[i]碰到0新数组的索引arr[j]要额外走一步直到新数组索引越界走出整个循环. 这时候要注意的是原数组多走了一步我们需要对原数组和新数组进行一步回退。 然后往回赋值逆序遍历循环继续进行的条件是原数组的索引i大于等于0如果新数组索引j没有越界就把arr[i]的值赋值给arr[j]如果arr[i]碰到0我们要判断当前索引j前面能不能再赋值有没有越界如果可以就把j自减并且arr[j]赋值为0接着索引i和j继续自减回退直到循环结束条件达到数组也就成功复写了零 class Solution { public:void duplicateZeros(vectorint arr) {int len arr.size(); int i 0;int j 0;while (j len){if (arr[i] 0)j;i;j;}i--;j--;while (i 0){if (j len)arr[j] arr[i];if (arr[i] 0 j - 1 0){j--;arr[j] 0;}i--;j--;}} };
http://www.pierceye.com/news/515028/

相关文章:

  • 光谷做网站推广价格手机网站 教程
  • 泉州做网站多少钱关键词排名快照优化
  • 威海网站建设费用网站不能调用样式
  • 网站链接建设及引流营销世界500强企业中国有几家
  • 哪个网站做网络推好推广引流的10个渠道
  • 上海企业一网通办沂seo网站推广
  • 资阳网站网站建设官方网站建设公司
  • 企业网站建设一条龙服务内容如何自己免费创建网站
  • 重庆智能网站建设多少钱临海做网站
  • 创建好网站如何把浏览器合肥道路建设从哪个网站可以看到
  • 湖北省和建设厅网站自助建站模板
  • 西安网站建设 美科动seo关键词优化哪个平台好
  • 副食店年报在哪个网站做mc建筑网站
  • 网站建设不足之处2017网站设计尺寸
  • 网站架构招聘怎么免费的安装wordpress主题
  • 海天建设集团网站深圳西乡地铁站
  • 上海html5网站建设第九影院用wordpress版权信息
  • 东莞网站建设运营方案尺寸在线做图网站
  • 萍乡网站推广陕西省住房和城乡建设厅网站上查询
  • 南京市浦口区建设局网站多商户商城app开发
  • 网站设置不能通过链接访问中专网站建设与管理就业前景
  • 大连网站建设哪个公司好郑州最新通告
  • 如何自己搭建网站做装修的业务网站
  • app网站的优点手机自助建站永久免费
  • 搜索栏搜索网站?热?文市场调研流程
  • 外贸网站建设课本建设网站群的好处
  • 网站开发文献综述范文网络推广计划书格式
  • 有免费网站服务器吗在线美图
  • 电商网站设计的原则免费下载app软件下载大全
  • 餐饮网站建设优化建站wordpress copyright