leetcode题库:3.无重复字符的最长子串
题目描述:
/**
*题目:无重复字符的最长子串
* 给定一个字符串,找出不含有重复字符的最长子串的长度。
*
*示例:
* 给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。
* 给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。
* 给定 "pwwkew" ,最长子串是 "wke" ,长度是3。
* 请注意答案必须是一个子串,"pwke" 是 子序列 而不是子串。
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <string.h>
/* 内存分配上有些问题,有待改进 */
/***题目:无重复字符的最长子串* 给定一个字符串,找出不含有重复字符的最长子串的长度。**示例:* 给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。* 给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。* 给定 "pwwkew" ,最长子串是 "wke" ,长度是3。* 请注意答案必须是一个子串,"pwke" 是 子序列 而不是子串。
*/char * Substring(char *s, int begin, int len)
{if(begin + len -1 > strlen(s))return NULL;int i;char *str = malloc(sizeof(char)*len);for(i=0;i<len;i++){str[i] = s[i+begin];}str[i] = '\0';return str;
}int repeat(char *s)
{int i,j,len = strlen(s);for(i=0;i<len-1;i++){for(j=i+1;j<len;j++){//printf("%c, %c\n",s[i],s[j]);if(s[i] == s[j])return -1;}}return 1;
}int lengthOfLongestSubstring(char* s)
{int begin, len;printf("-----\n");int c = 1;char *substring;for(begin = 0;begin < strlen(s); begin++){for(len=1; len <= strlen(s)-begin; len++){substring = Substring(s,begin,len);if(repeat(substring)>0){if(c < strlen(substring))c = strlen(substring);}printf("%d, %d, %s, %d, %d\n",begin, len,substring,c,repeat(substring));free(substring);}}return c;
}int main( int argc, char **argv)
{char *str = "aaaaaa";printf("%d\n",lengthOfLongestSubstring(str) );return 0;
}
测试:
D:\test>a.exe aaaaa
-----
1
D:\test>a.exe abcabcbb
-----
3
D:\test>a.exe abcabcdd
-----
4
leetcode题库:3.无重复字符的最长子串相关推荐
- 【leetcode】力扣刷题(3):无重复字符的最长子串(go语言)
一.问题描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 " ...
- python【力扣LeetCode算法题库】3- 无重复字符的最长子串
无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 & ...
- LeetCode精讲 03无重复字符的最长子串(滑动窗口)
题目描述 原创作者:bigsai,维护不易,如有收获,还请点赞.收藏支持! 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcb ...
- python字符串中最长的连续升序子串_Leetcode刷题练Python无重复字符的最长子串
这是一道字符串处理算法的题目,在日常编程中,处理字符串是常见任务.该题目会涉及到一个概念"滑动窗口". 一.题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度 ...
- (LeetCode)Java 求解无重复字符的最长子串
文章目录 一.题解 二.代码 三.总结 一.题解 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因 ...
- 【LeetCode 3-中等】无重复字符的最长子串(高清截图)
3. [中等]无重复字符的最长子串 https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 给 ...
- 【LeetCode笔记】3. 无重复字符的最长子串(JAVA、滑动窗口、字符串)
文章目录 题目描述 思路 && 代码 1. 之前的版本 更新 2.0 题目描述 子串:各字符间必须要相邻,而非子序列 使用滑动窗口来做就行 思路 && 代码 1. 之前 ...
- 【Leetcode | 1】3. 无重复字符的最长子串
这里我们可以建立一个HashMap,建立每个字符和其最后出现位置之间的映射,然后我们需要定义两个变量res和left,其中res用来记录最长无重复子串的长度,left指向该无重复子串左边的起始位置的前 ...
- php无重复字符的最长子串,PHP算法之无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...
- LeetCode题库整理【Java】—— 3 无重复字符的最长子串
LeetCode题库整理[Java] ## 3 无重复字符的最长子串 题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" ...
最新文章
- 中科院陆汝钤获吴文俊人工智能最高成就奖,百度王海峰获吴文俊人工智能杰出贡献奖...
- java8 环境变量设置
- centos7安装php5.6版本
- STM32 基础系列教程 25 - USB_HID_mouse
- TS和JS相对比的优势
- python 排序算法
- C++Opengl三维列表堆罗汉源码
- API测试工具SoapUI Postman对比分析
- java高级反射_反射---Java高级开发必须懂的
- 笔记 | 《机器学习》手推笔记聚类与性能度量
- Thingsboard 3.1.0 - UI修改
- 下载 针式PKM V9.08 版
- 资本大佬们背后鲜为人知的秘史3
- 智慧城市顶层设计与不确定性
- 华为实习面经(技术面+主管面)
- 什么是ASO,GooglePlayASO优化的方法有哪些
- 用 Rust 写一个声控小动画
- 如何选择第三方电子发票平台服务商?
- win10蓝牙无法连接,可以尝试在此Windows设备上打开蓝牙
- kline 专业金融K线绘制库
热门文章
- (备忘)卸载微软自带输入法
- iOS绘图系列四:绘制文字和图像CGContextDrawImage,drawInRect:,drawAtPoint:, UIGraphicsBeginImageContext...
- loadrunner 脚本优化-事务时间简介
- C# 动态装载 DLL
- 演示JSP Scriptlets、声明语句、jsp表达式的使用
- asp.net 获取客户端cookie_开发中你一定碰到过的cookie和session问题,今天一并帮你解决!...
- 计算机打开就是桌面界面的讲解,电脑桌面图标打不开,小猪教您电脑桌面图标打不开怎么办...
- linux mysql清除缓存_转载-清除Linux中MySQL的使用痕迹~/.mysql_history
- mysql update 几万 非常慢_面试官:谈谈你对mysql索引的认识?
- python去重计数_用Python实现透视表的value_sum和countdistinct功能