题目描述:

/**
 *题目:无重复字符的最长子串
 *  给定一个字符串,找出不含有重复字符的最长子串的长度。
 *
 *示例:
 *  给定 "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.无重复字符的最长子串相关推荐

  1. 【leetcode】力扣刷题(3):无重复字符的最长子串(go语言)

    一.问题描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 " ...

  2. python【力扣LeetCode算法题库】3- 无重复字符的最长子串

    无重复字符的最长子串 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 & ...

  3. LeetCode精讲 03无重复字符的最长子串(滑动窗口)

    题目描述 原创作者:bigsai,维护不易,如有收获,还请点赞.收藏支持! 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcb ...

  4. python字符串中最长的连续升序子串_Leetcode刷题练Python无重复字符的最长子串

    这是一道字符串处理算法的题目,在日常编程中,处理字符串是常见任务.该题目会涉及到一个概念"滑动窗口". 一.题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度 ...

  5. (LeetCode)Java 求解无重复字符的最长子串

    文章目录 一.题解 二.代码 三.总结 一.题解 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因 ...

  6. 【LeetCode 3-中等】无重复字符的最长子串(高清截图)

    3. [中等]无重复字符的最长子串 https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 给 ...

  7. 【LeetCode笔记】3. 无重复字符的最长子串(JAVA、滑动窗口、字符串)

    文章目录 题目描述 思路 && 代码 1. 之前的版本 更新 2.0 题目描述 子串:各字符间必须要相邻,而非子序列 使用滑动窗口来做就行 思路 && 代码 1. 之前 ...

  8. 【Leetcode | 1】3. 无重复字符的最长子串

    这里我们可以建立一个HashMap,建立每个字符和其最后出现位置之间的映射,然后我们需要定义两个变量res和left,其中res用来记录最长无重复子串的长度,left指向该无重复子串左边的起始位置的前 ...

  9. php无重复字符的最长子串,PHP算法之无重复字符的最长子串

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...

  10. LeetCode题库整理【Java】—— 3 无重复字符的最长子串

    LeetCode题库整理[Java] ## 3 无重复字符的最长子串 题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" ...

最新文章

  1. 中科院陆汝钤获吴文俊人工智能最高成就奖,百度王海峰获吴文俊人工智能杰出贡献奖...
  2. java8 环境变量设置
  3. centos7安装php5.6版本
  4. STM32 基础系列教程 25 - USB_HID_mouse
  5. TS和JS相对比的优势
  6. python 排序算法
  7. C++Opengl三维列表堆罗汉源码
  8. API测试工具SoapUI Postman对比分析
  9. java高级反射_反射---Java高级开发必须懂的
  10. 笔记 | 《机器学习》手推笔记聚类与性能度量
  11. Thingsboard 3.1.0 - UI修改
  12. 下载 针式PKM V9.08 版
  13. 资本大佬们背后鲜为人知的秘史3
  14. 智慧城市顶层设计与不确定性
  15. 华为实习面经(技术面+主管面)
  16. 什么是ASO,GooglePlayASO优化的方法有哪些
  17. 用 Rust 写一个声控小动画
  18. 如何选择第三方电子发票平台服务商?
  19. win10蓝牙无法连接,可以尝试在此Windows设备上打开蓝牙
  20. kline 专业金融K线绘制库

热门文章

  1. (备忘)卸载微软自带输入法
  2. iOS绘图系列四:绘制文字和图像CGContextDrawImage,drawInRect:,drawAtPoint:, UIGraphicsBeginImageContext...
  3. loadrunner 脚本优化-事务时间简介
  4. C# 动态装载 DLL
  5. 演示JSP Scriptlets、声明语句、jsp表达式的使用
  6. asp.net 获取客户端cookie_开发中你一定碰到过的cookie和session问题,今天一并帮你解决!...
  7. 计算机打开就是桌面界面的讲解,电脑桌面图标打不开,小猪教您电脑桌面图标打不开怎么办...
  8. linux mysql清除缓存_转载-清除Linux中MySQL的使用痕迹~/.mysql_history
  9. mysql update 几万 非常慢_面试官:谈谈你对mysql索引的认识?
  10. python去重计数_用Python实现透视表的value_sum和countdistinct功能