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

leetcode3.无重复字符的最长子串

题目描述

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

示例 1:
输入: s = “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。

示例 2:
输入: s = “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。

示例 3:
输入: s = “pwwkew”
输出: 3
解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。
请注意,你的答案必须是子串的长度,“pwke” 是一个子序列,不是子串。

提示:
0 <= s.length <= 5 * 104
s 由英文字母、数字、符号和空格组成

输出子串长度

int lengthOfLongestSubstring(char* s) {int left=0;int maxlen=0;int len=strlen(s);int count[128]={0};for( int right=0;right<len;right++){while(count[s[right]]>0){count[s[left]]--;left++;}count[s[right]]++;maxlen=fmax(maxlen,right-left+1);}return maxlen;
}

输出子串

#include <stdio.h>
#include <string.h>int lengthOfLongestSubstring(char* s) {int left=0;int right=0;int maxlen=0;int start=0;int len=strlen(s);int count[128]={0};while(right<len){while(count[s[right]]>0){count[s[left]]--;left++;}count[s[right]]++;//maxlen=fmax(maxlen,right-left+1);if(right-left+1>maxlen){maxlen=right-left+1;start=left;}right++;}char* res=(char*)malloc(maxlen+1);strncpy(res,s+start,maxlen);res[maxlen+1]='\0';return res;
}
int main(){char str[1000];gets(str);printf("%s",lengthOfLongestSubstring(str));
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 分块总结:时髦之裤
  • Redis相关命令详解
  • 数据的二进制形式
  • 计算机视觉学习路线
  • Python基础语法(3)上
  • 流量牵引技术与传统防火墙的区别
  • 半导体AI硬件基础设施发展洞察
  • 【Canvas与表盘】绘制黄蓝两色简约表盘
  • 免费线上研讨会 | Ansys Zemax 设计医疗内窥镜
  • 【C#】命名规范
  • SAP 工厂间的库存转移简介
  • 电脑安装OpenWRT系统
  • 计算机网络第五章--传输层
  • 带你0到1之QT编程:十、一举击破开发中常用的Button按钮组
  • Redis 缓存淘汰算法策略详解
  • JS 中的深拷贝与浅拷贝
  • Codepen 每日精选(2018-3-25)
  • Java反射-动态类加载和重新加载
  • JWT究竟是什么呢?
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • React as a UI Runtime(五、列表)
  • 百度小程序遇到的问题
  • 关于extract.autodesk.io的一些说明
  • 基于webpack 的 vue 多页架构
  • 前言-如何学习区块链
  • 如何使用 JavaScript 解析 URL
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 深度解析利用ES6进行Promise封装总结
  • 实现简单的正则表达式引擎
  • 推荐一个React的管理后台框架
  • # C++之functional库用法整理
  • # 达梦数据库知识点
  • #APPINVENTOR学习记录
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #if 1...#endif
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (10)ATF MMU转换表
  • (二)windows配置JDK环境
  • (附源码)php新闻发布平台 毕业设计 141646
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (四)Linux Shell编程——输入输出重定向
  • (一)kafka实战——kafka源码编译启动
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (轉貼) UML中文FAQ (OO) (UML)
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .Family_物联网
  • .Net 4.0并行库实用性演练
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET delegate 委托 、 Event 事件
  • .net Stream篇(六)
  • .NET 的程序集加载上下文
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .NET面试题(二)
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作