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

课程设计登录页面手机360优化大师官网

课程设计登录页面,手机360优化大师官网,微信网站建设模板下载,网站建设的优点解题思路: \qquad 适用双指针,l:最左边‘0’元素坐标;r:l右边第一个非零元素坐标。 \qquad 最初的思路:将l和r初始化为0,遍历数组nums若任意一个指针到达数组末尾时停止。若当前nums[l] 0则移…

在这里插入图片描述
解题思路:
\qquad 适用双指针,l:最左边‘0’元素坐标;rl右边第一个非零元素坐标。
\qquad 最初的思路:将lr初始化为0,遍历数组nums若任意一个指针到达数组末尾时停止。若当前nums[l] == 0则移动r++,找到第一个非零元素时交换二者的值;否则nums[l] != 0则移动l++ ,去寻找0元素。每次仅移动一次指针(lr)。
\qquad 这个思路虽然可行,但实现代码仍有些繁琐,需要同时移动两个指针,并且考虑两个指针的范围问题。其优化的版本早已在快速排序的思想中体现。

优化思路:
\qquad l:假设以其为分界点,左边均为非零元素,右边均为0元素;
\qquad r:不断向右探索的指针,直至遍历到数组最后一个元素停止。
\qquad 初始化l = 0r = 0
\qquad nums[r] != 0,将nums[l]nums[r]的值交换,同时l右移1,以保证假设成立。若数组中无0元素,在移动过程中l = r;当存在0元素时,lr才会拉开距离,且nums[r]始终指向第一个0元素。

\qquad 很多算法题的解题思路,都与数学归纳法类似。要创造自己一个假设,并在每一步都要做与假设一致的操作,维持假设成立,最后将假设变成“现实”。最重要的是如何找到一个最合适的假设。

优化代码:
\qquad 1)使用swap(a,b)函数交换变量的值。而非使用中间变量temp进一步简化代码。 (头文件#include<algorithm>

class Solution {
public:void moveZeroes(vector<int>& nums) {int l = 0, r = 0;while(r < nums.size()){if(nums[r] != 0){swap(nums[l], nums[r]);l++;}r++;}}
};
http://www.ds6.com.cn/news/62685.html

相关文章:

  • 培训的网站建设营销平台有哪些
  • wordpress 数据备份插件seo综合查询软件排名
  • 网站开发的自适应中国万网域名查询
  • 免费的企业查询软件seo海外推广
  • ppt 模板免费下载知乎推广优化
  • wordpress插件残留怎么删除seo入门培训教程
  • 星锐网站建设百度竞价官网
  • app网站及其特色苏州百度推广公司地址
  • 官方网站下载打印机的驱动风云榜百度
  • 在线做数据图的网站东莞疫情最新通知
  • 上海哪里做网站比较好如何做网络推广外包
  • 伊川网站开发百度推广找谁做靠谱
  • 开发一个软件的流程宁波seo深度优化平台有哪些
  • 宁波建网站推荐手机百度账号登录入口
  • 微信朋友圈的网站连接怎么做网站排名优化怎么做
  • 下载什么软件可以做动漫视频网站百度提交工具
  • 网站建设制作确认单百度网站关键词排名查询
  • 学网站维护seo长尾快速排名
  • 简单的网站开发的软件有哪些北京seo关键词排名优化
  • 怎么做服装外贸网站网络营销电子版教材
  • 个人 网站备案什么平台可以免费推广产品
  • 甘肃兰州疫情最新消息今天长沙seo管理
  • php网站开发手机绑定网络营销方式
  • 网站开发流程知乎seo快速收录快速排名
  • 管理系统服务win10最强优化软件
  • 南通网站建设团队朝阳seo搜索引擎
  • 双线网站线上营销策略
  • 西安网站建设制作专业公司免费域名申请网站大全
  • 做教育视频网站用什么平台好广州seo网站多少钱
  • 网站模块化网页自动点击软件