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

武汉公司做网站西安网站制作公司

武汉公司做网站,西安网站制作公司,wordpress主题idowns,瑞翔网站建设解题思路: \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.dt0577.cn/news/43139.html

相关文章:

  • 顺义做网站公司建设网站需要多少钱
  • python做软件的网站网站建设一般多少钱
  • 移动网站建设哪家好游戏推广公司怎么接游戏的
  • 快速做网站套餐一站式自媒体服务平台
  • 建设景区网站的目的百度软件市场
  • 张槎杨和网站建设关键词优化软件排行
  • 醴陵网站设计兰州百度推广的公司
  • 用dw怎么做登录页面的网站模板网站如何建站
  • wordpress brute 爆破工具南昌seo外包公司
  • 做地方网站赚钱吗2021年年度关键词排名
  • 做网站编程时容易遇到的问题seo怎么做推广
  • 网站开发包含哪些类别上海网络推广排名公司
  • 盟族网站建设免费行情网站
  • 商城网站制作公司建立网站需要什么
  • 客服外包公司加盟优化设计官方电子版
  • 企业公司网站建设合肥优化营商环境
  • 武汉品牌网站建设公司排名2023年5月疫情爆发
  • 爱站网站长seo综合查询什么是优化
  • 网站开发用什么系统比较好关键词举例
  • 网站会员系统制作情感式软文广告
  • 建设网站需要什么软件下载济南竞价托管
  • 赤峰做网站的公司西安网站设计开发
  • 郑州百度网站优化排名海淀区seo引擎优化
  • 政府网站建设意义深圳seo优化电话
  • wordpress评论回复通知企业网站优化推广
  • 门户网站建站合同网络推广网站推广
  • 想给学校社团做网站百度保障中心人工电话
  • 郑州做网站公司中文域名注册管理中心
  • wordpress怎么换语言包西安seo排名扣费
  • 英文网站建设 淮安seo综合排名优化