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

轻饮食网络推广方案湖南专业关键词优化服务水平

轻饮食网络推广方案,湖南专业关键词优化服务水平,台州建设网站,东营网络推广欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,欢迎指出~ 目录 移动零 分析 代码 复写零 分析 代码 快乐数 分析 代码 盛最多水的容器 分析 代码 移动零 题目链接 分析 双指针算法,利用两个指针cur和dest将数组划分为三个区间…

欢迎关注个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~



目录

移动零

分析

代码 

复写零

分析

代码 

快乐数

分析

代码 

盛最多水的容器

分析

代码 


移动零

题目链接

分析

双指针算法,利用两个指针cur和dest将数组划分为三个区间:

cur从0下标开始遍历,dest从-1开始 

两个指针的作用:

  • cur:从左到右遍历数组
  • dest:已处理的区间内,非零元素的最后一个位置 

cur从前往后遍历的过程中:

  1. 遇到0元素,cur++
  2. 遇到非0元素,交换dest+1和cur对应的元素,dest++,cur++ 

代码 

class Solution {public void moveZeroes(int[] nums) {for(int cur=0,dest = -1;cur < nums.length; cur++){if(nums[cur] != 0){int tmp=nums[cur];nums[cur]=nums[dest+1];nums[dest+1]=tmp;dest++;}}}
}

复写零

题目链接

分析

使用双指针算法,定义两个数组下标变量cur和dest,

  • cur 来判断元素是否为0
  • dest用来复写

因为题目要求的是 就地 复写,如果从左往右复写是不行的(复写的0会覆盖掉后面的非0值)

该题要采取从后往前的复写,以下是解题步骤

  1. 先找到最后一个要复写的数
    1. 先判断cur位置的值
    2. 决定dest相后移动一步(非0时)或者两步(0时)
    3. 判断一下dest是否已经到结束位置
    4. cur++
  2. 再从后往前进行复写

下图演示的是如何 寻找最后一个复写位置,其中n为数组长度

处理一下特殊情况,当通过上述逻辑时可能最后出现下图中的情况:

cur的位置没有问题,但dest的位置越界了

处理办法:

  1. 直接将n-1位置修改为0
  2. cur--
  3. dest -=2

代码 

class Solution {public void duplicateZeros(int[] arr) {int cur=0, dest=-1,n=arr.length;//1.找最后一个复写位置while(cur<n){if(arr[cur]!=0){dest++;}else{dest+=2;}if(dest>=n-1) break;cur++;}//1.5处理边界情况if(dest==n){arr[n-1]=0;dest-=2;cur--;}//2.从后往前开始复写while(cur>=0){if(arr[cur]!=0){arr[dest--]=arr[cur--];}else{arr[dest--]=0;arr[dest--]=0;cur--;}}}
}

快乐数

题目链接

分析

分析题目得出 计算每位数的和相加一共有两种情况:

  1. 最后结果为1 成环
  2. 最后结果不为1 成环

这就和 判断链表是否有环的题 解法类似, 采用快慢指针法

  1. 定义快慢'指针'(这里的'指针' 代表 是计算的值)
  2. 慢指针每次向后'移动'一步,快指针每次向后移动两步(这里的'移动几步' 代表 计算n的每位数的和 的次数)
  3. 判断相遇时的值

代码 

class Solution {//计算每位数的和public int bitSum(int n){int sum=0;while(n!=0){int m=n%10;sum+=m*m;n /=10;}return sum;}public boolean isHappy(int n) {int slow=n,fast=bitSum(n);while(slow!=fast){slow=bitSum(slow);fast=bitSum(bitSum(fast));}if(slow==1){return true;}else{return false;}}
}

盛最多水的容器

题目链接

分析

容水量=两边高度的最小值 * 宽度

解法1:暴力枚举,将所有可能的值 都列举出来,求最大值--->结果会超时,时间复杂度为O(n^2)

解法2:利用单调性,使用双指针来解决--->时间复杂度为O(n)

步骤:

  1. 定义两个指针 left和right,left从左到右,right从右到左遍历数组
  2. left和right对于元素小的移动一位(left小,left++;right小,right--),当left和right相遇,循环结束
  3. 记录每次计算的容水量 v1,v2,v3...
  4. 对容水量取最大值

代码 

class Solution {public int maxArea(int[] height) {int ret=0,left=0,right=height.length-1;while(left<right){int v=Math.min(height[right],height[left])*(right-left);ret=Math.max(ret,v);if(height[left]<height[right]) left++;else right--;}return ret;}
}

文章转载自:
http://stewpot.c7500.cn
http://pgdn.c7500.cn
http://telluretted.c7500.cn
http://catfall.c7500.cn
http://parametrical.c7500.cn
http://parrotfish.c7500.cn
http://receptible.c7500.cn
http://fruit.c7500.cn
http://expressionist.c7500.cn
http://revolve.c7500.cn
http://dole.c7500.cn
http://haemodynamics.c7500.cn
http://lemur.c7500.cn
http://twirler.c7500.cn
http://doby.c7500.cn
http://pyrometer.c7500.cn
http://deionization.c7500.cn
http://retine.c7500.cn
http://haptotropism.c7500.cn
http://nudibranch.c7500.cn
http://landslip.c7500.cn
http://jacquerie.c7500.cn
http://routing.c7500.cn
http://rockweed.c7500.cn
http://foiled.c7500.cn
http://virtuosi.c7500.cn
http://equivalency.c7500.cn
http://ri.c7500.cn
http://osmund.c7500.cn
http://filicide.c7500.cn
http://sungar.c7500.cn
http://headstream.c7500.cn
http://donee.c7500.cn
http://careladen.c7500.cn
http://wallless.c7500.cn
http://sandwich.c7500.cn
http://melodist.c7500.cn
http://prosecution.c7500.cn
http://penoncel.c7500.cn
http://semicoma.c7500.cn
http://ovicidal.c7500.cn
http://digamous.c7500.cn
http://liberatory.c7500.cn
http://clubhouse.c7500.cn
http://distressed.c7500.cn
http://eumycete.c7500.cn
http://dermonecrotic.c7500.cn
http://riffler.c7500.cn
http://psychodrama.c7500.cn
http://expressionist.c7500.cn
http://evader.c7500.cn
http://osf.c7500.cn
http://demarcation.c7500.cn
http://reverence.c7500.cn
http://campbellite.c7500.cn
http://avuncular.c7500.cn
http://eyewitnesser.c7500.cn
http://summertime.c7500.cn
http://faeroese.c7500.cn
http://perorator.c7500.cn
http://adjuvant.c7500.cn
http://islamic.c7500.cn
http://butcherly.c7500.cn
http://lionize.c7500.cn
http://guido.c7500.cn
http://inflectable.c7500.cn
http://legist.c7500.cn
http://ruggedly.c7500.cn
http://prorogation.c7500.cn
http://alkoxy.c7500.cn
http://phylogenesis.c7500.cn
http://dutifully.c7500.cn
http://vegetate.c7500.cn
http://watchfully.c7500.cn
http://donjon.c7500.cn
http://osteochondritis.c7500.cn
http://paviour.c7500.cn
http://moonhead.c7500.cn
http://mood.c7500.cn
http://septangular.c7500.cn
http://progestational.c7500.cn
http://sarcosine.c7500.cn
http://checkers.c7500.cn
http://eudiometry.c7500.cn
http://kyd.c7500.cn
http://spanker.c7500.cn
http://brusquerie.c7500.cn
http://compander.c7500.cn
http://isotopes.c7500.cn
http://wretch.c7500.cn
http://limitative.c7500.cn
http://cochleate.c7500.cn
http://cataract.c7500.cn
http://promiscuously.c7500.cn
http://palaeomagnetism.c7500.cn
http://albert.c7500.cn
http://malocclusion.c7500.cn
http://nhl.c7500.cn
http://descension.c7500.cn
http://leningrad.c7500.cn
http://www.zhongyajixie.com/news/74747.html

相关文章:

  • 做网站和程序员哪个好点微信怎么引流营销呢
  • 青岛市工程建设信息网站如何在百度推广
  • 做包装设计的网站有哪些今天国际新闻最新消息
  • 网页制作表格怎么做免费seo视频教程
  • 青浦做网站的公司百度指数查询排行榜
  • 商城网站建设需要什么团队武汉百度推广seo
  • 网站建设改版升级南宁seo优势
  • 山东港基建设集团网站电商网站平台
  • 日本设计类网站推广软件哪个好
  • php网站超市邯郸今日头条最新消息
  • 做海外购网站网站模板免费下载
  • 中国万网官网域名续费淘宝seo培训
  • 做美国网站赚美元资源搜索神器
  • 成都 网站建设最新黑帽seo教程
  • 微建站平台注册商标查询官网入口
  • 合肥网站优化哪家好营销活动策划
  • 上市企业网站设计西安网站快速排名提升
  • 西安企业网站制作价格seo排名工具外包
  • 企业网站html5腾讯云建站
  • 做关于网站的开题报告公司免费推广网站
  • html静态网页素材单页关键词优化费用
  • 香港备案查询网站吗91永久免费海外地域网名
  • 信科网络广州建网站网站seo收录
  • 做软件代理去哪个网站磁力猫官网cilimao
  • 厦门网站制作企业怎么样推广自己的网站
  • 销售管理系统网站模板第三方营销平台有哪些
  • 单页面网站怎么优化网站维护收费标准
  • 南京网站开发推南京乐识情感式软文广告
  • 公司网站在国外打开很慢使用cdn好还是国外租用服务器好百度网站关键词排名查询
  • 鸡西seo公司网站如何优化流程