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

淄博市临淄区建设局网站企业网站源码

淄博市临淄区建设局网站,企业网站源码,莆田有哪几家做网站设计的,广安建设企业网站本文主要讲解无重复字符的最长字串的要点与细节,根据步骤一步步走更方便理解 c与java代码如下,末尾 具体要点: 1. 区分一下子串和子序列 子串:要求元素在母串中是连续地出现 子序列:不要求连续 2. 题目中有两个核心…

本文主要讲解无重复字符的最长字串的要点与细节,根据步骤一步步走更方便理解

c++与java代码如下,末尾

具体要点:

1. 区分一下子串和子序列

        子串:要求元素在母串中是连续地出现

        子序列:不要求连续


2. 题目中有两个核心要点:无重复,最长

        无重复:我们可以想到哈希表来解决(哈希表用来判断一个元素是否出现过)

        最长:我们可以利用滑动窗口的思路来解决(滑动窗口通常用来解决某种连续性子序列条件)


3. 我们选用哪种哈希表来实现呢,通过思考,我们只需要知道元素是否出现过(不需要记录其他信息,例如索引、次数等),所以我们可以使用set来解决


4. 解决了无重复的问题,我们思考一下滑动窗口具体应该怎么实现?

        滑动窗口通常都是两个指针,一个right一个left

        开始时我们先移动right,判断条件是:right始终不越界 + right的值始终没有出现过

即             while (right < s.size() && hashset.find(s[right]) == hashset.end())

        移动right并加入set中

即            hashset.insert(s[right]);
                right++;

        直到right不能再移动后,我们记录最大长度,并移动一次left,同时把left的值从set中删除 

即        //更新最大长度

            result = max(result, right - left);

            //删除left并移动left

            hashset.erase(s[left]);

            left++;

        至此,实现一轮滑动(每一轮都只移动一次left) 


c++代码

class Solution {
public:int lengthOfLongestSubstring(string s) {int result = 0;//定义滑动窗口的两个指针int left = 0, right = 0;//定义一个set去重unordered_set<char> hashset;while (right < s.size()) {//不断移动rightwhile (right < s.size() && hashset.find(s[right]) == hashset.end()) {hashset.insert(s[right]);right++;}//更新最大长度result = max(result, right - left);//移动lefthashset.erase(s[left]);left++;}return result;}
};

java代码

class Solution {public int lengthOfLongestSubstring(String s) {//滑动窗口int right = 0, left = 0;int result = 0;//定义set,防止重复HashSet<Character> map = new HashSet<Character>();//特殊情况0和1if (s.length() == 0 || s.length() == 1) {return s.length();}while (s.length() > right) {//right位置如果没有出现过,就addwhile (s.length() > right && !map.contains(s.charAt(right))) {map.add(s.charAt(right));right++;}result = Math.max(result, right - left);//right移动到不能移动,就开始移动leftmap.remove(s.charAt(left));left++;}return result;}
}

http://www.hkea.cn/news/644799/

相关文章:

  • 云南 网站建设网站seo优化对网店的推广的作用为
  • 网站建设免费国外舆情服务公司
  • 怎么做网站banner查排名网站
  • 做网站好看的背景图片相关搜索优化软件
  • 怎么查网站是哪家制作公司做的百度收录查询
  • 企业年金交了有好处吗网络优化工程师吃香吗
  • python做网站开发百度6大核心部门
  • 自己做网站平台企业网站优化价格
  • 淘宝网网站建设的需求分析百度会员登录入口
  • 建网站的专业公司推广网站多少钱
  • 网站不去公安局备案自己怎么搭建网站
  • 外贸网站建设入门深圳网络推广哪家
  • 网站模板资源公司网站推广
  • 广东省建设教育协会官方网站首页html简单网页代码
  • 个人网站意义阿里指数官网最新版本
  • 网站开发方式有哪四种搜索引擎优化课程总结
  • 申请做网站、论坛版主app推广接单
  • 青海网站建设广州seo优化推广
  • 物流公司网站制作模板上海网站关键词排名
  • 广西建设人才网搜索引擎优化的目标
  • 比汉斯设计网站素材图片搜索识图入口
  • php网站架设教程英雄联盟韩国
  • 做毕设好的网站百度客服电话24小时
  • 上海手机网站建设电话咨询seo综合查询系统
  • wordpress 4.6 中文版沈阳seo
  • 文件管理软件天津搜索引擎优化
  • 九亭网站建设全国疫情高峰时间表最新
  • 青岛网站建设公司武汉seo收费
  • mvc网站建设的实验报告怎么做优化
  • 有官网建手机网站千锋教育培训多少钱费用