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

黄页网站大全免费网址日本新闻头条免费下载安装

黄页网站大全免费网址日本,新闻头条免费下载安装,赣州建设监督网站,java 网站开发框架大家好我是苏麟 , 今天带来滑动窗口经典的一些题目 . 我们继续来研究一些热门的、高频的滑动窗口问题 大纲 最长子串专题无重复字符的最长子串 长度最小的子数组盛最多水的容器 最长子串专题 无重复字符的最长子串 描述 : 给定一个字符串 s ,请你找出其中不含有重…

大家好我是苏麟 , 今天带来滑动窗口经典的一些题目 .

我们继续来研究一些热门的、高频的滑动窗口问题

大纲

    • 最长子串专题
      • 无重复字符的最长子串
    • 长度最小的子数组
    • 盛最多水的容器

最长子串专题

无重复字符的最长子串

描述 :

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

题目 :

LeetCode 3. 无重复字符的最长子串 :

无重复字符的最长子串

分析 :

官方题解

解析 :

class Solution {public int lengthOfLongestSubstring(String s) {if(s == null || s.length() == 0){return 0;}HashMap<Character,Integer> map = new HashMap<>();int left = 0;int max = 0;for(int right = 0;right < s.length();right++){if(map.containsKey(s.charAt(right))){left = Math.max(left,map.get(s.charAt(right)) + 1);}map.put(s.charAt(right),right);max = Math.max(max,right - left + 1);}return max;}
}

长度最小的子数组

描述 :

给定一个含有 n 个正整数的数组和一个正整数 target 。

找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl+1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。

题目 :

LeetCode 209. 长度最小的子数组 :

长度最小的子数组

在这里插入图片描述

分析 :

这题直接用双指针就完事了 , 没什么好说的 .

当然用队列啊 也是可以的 .

解析 :

class Solution {public int minSubArrayLen(int target, int[] nums) {int length = nums.length - 1;int left = 0;int right = 0;int res = 0;int min = Integer.MAX_VALUE;while(right <= length){res += nums[right++];while(res >= target){res -= nums[left++];min = Math.min(min, right - left + 1);}}return min == Integer.MAX_VALUE ? 0 : min;}
}

盛最多水的容器

描述 :

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i])

找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。

返回容器可以储存的最大水量。

说明:你不能倾斜容器。

题目 :

LeetCode 11. 盛最多水的容器 :

盛最多水的容器
在这里插入图片描述

分析 :

本题看似复杂,但其实简单的很。设两指针i,j,指向的水槽板高度分别为 h[i],h[j],此状态下水槽面积为S(i,j)。由于可容纳水的高度由两板中的 短板 决定,因此可得如下面积公式:

s(i,j)=min(h[i],h[j]) x ( j - i )

在每个状态下,无论长板或短板向中间收窄一格,都会导致水槽底边宽度-1 变短:

  • 若向内移动短板,水槽的短板min(h[i],h[j]) 可能变大,因此下个水槽的面积可能增大
  • 若向内移动长板,水槽的短板min(h[i],h[j]) 不变或变小,因此下个水槽的面积一定变小。

因此,只要初始化双指针分列水槽左右两端,循环每轮将短板向内移动一格,并更新面积最大值,直到两指针相遇时跳出;即可获得最大面积。

解析 :

class Solution {public int maxArea(int[] height) {if(height.length < 2){return 0;}int res = 0;int left = 0;int right = height.length - 1;while(left < right){res = height[left] < height[right] ?Math.max(res,(right - left) * height[left++]) :Math.max(res,(right - left) * height[right--]);} return res;}
}

这期就到这里 , 下期见!

http://www.khdw.cn/news/5764.html

相关文章:

  • 赚钱做任务的网站有哪些宝鸡seo优化
  • 南通网站建设公司国内搜索引擎排行榜
  • 佛山精品网站建设seo怎么做
  • ps如何做ppt模板下载网站公司网站怎么做
  • 自助游网站开发分析报告网络营销网络推广
  • 自己网站做第三方支付seo优化技术培训中心
  • 成都网站开发公司排名百度账号客服人工电话
  • 装饰装修网站建设方案找人帮忙注册app推广
  • 郴州网站策划百度查询
  • 海贼王路飞和女帝做的网站现代网络营销的方式
  • 美国人在床上做裸身体网站啊赚钱平台
  • 怎么在网站里添加cnzz统计sem账户托管
  • 网站建设公司968seo全国最好的公司
  • 体验做黑客的网站今天的特大新闻有哪些
  • 电商类网站建设需要多少钱域名申请的流程
  • 深圳高端网站制作公司成都网站建设技术外包
  • 北京网站开发哪家专业提高网站排名
  • 网站空间需要续费百度一下 你就知道官网
  • 一级建造师报考条件2022考试时间有必要买优化大师会员吗
  • python网站搭建长沙seo运营
  • 电子商务网站建设步骤搜索引擎算法
  • 网站建设与管理介绍西安百度竞价推广
  • 漯河做网站的公司网站cms
  • 做的网站如何全屏微信附近人推广引流
  • 什么是新零售网站seo综合查询
  • 南宁市网站开发建设网站开发与设计
  • 英文营销网站建设百度关键词排名联系方式
  • 建设工程教育网手机版站长工具的使用seo综合查询运营
  • 政府网站建设不合格爱站网长尾关键词挖掘工具电脑版
  • 程序员自己做网站怎么赚钱百度app推广