库你急哇,哈集美马戏特~~

第一眼看这题的反应,(我以前做过这个题好几遍了)。再看一眼之后发现,(什么?我什么时候做过这个题?)

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

示例 1:

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

示例 2:

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

示例 3:

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

示例 4:

输入: s = “”
输出: 0

提示:

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

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

上代码(其中的(unsigned char)是为了防止为负值的char作为数组下标引起警告,主要的思想还是官方所说的滑动窗口)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>int lengthOfLongestSubstring(char * s){int loc[256];memset(loc,-1,sizeof(loc));int start=0,count=0,max=0;int i=0;int len=strlen(s);for(i=0;i<len;i++){if(loc[(unsigned char)s[i]]>=start){start=loc[(unsigned char)s[i]]+1;count=i-start;}loc[(unsigned char)s[i]]=i;count++;if(count>max){max=count;}}return max;}int main()
{char check[]="ILoveChina";printf("%d",lengthOfLongestSubstring(check));return 0;
}

《LeetCode力扣练习》第3题 C语言版 (做出来就行,别问我效率。。。。)相关推荐

  1. 《LeetCode力扣练习》第96题 不同的二叉搜索树 Java

    <LeetCode力扣练习>第96题 不同的二叉搜索树 Java 一.资源 题目: 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回 ...

  2. 《LeetCode力扣练习》第75题 颜色分类 Java

    <LeetCode力扣练习>第75题 颜色分类 Java 一.资源 题目: 给定一个包含红色.白色和蓝色.共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按 ...

  3. 《LeetCode力扣练习》第64题 最小路径和 Java

    <LeetCode力扣练习>第64题 最小路径和 Java 一.资源 题目: 给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为 ...

  4. 《LeetCode力扣练习》第62题 不同路径 Java

    <LeetCode力扣练习>第62题 不同路径 Java 一.资源 题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" ). ...

  5. 《LeetCode力扣练习》第56题 合并区间 Java

    <LeetCode力扣练习>第56题 合并区间 Java 一.资源 题目: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, ...

  6. 《LeetCode力扣练习》第55题 跳跃游戏 Java

    <LeetCode力扣练习>第55题 跳跃游戏 Java 一.资源 题目: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大 ...

  7. 《LeetCode力扣练习》第617题 合并二叉树 Java

    <LeetCode力扣练习>第617题 合并二叉树 Java 一.资源 题目: 给你两棵二叉树: root1 和 root2 . 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些 ...

  8. 《LeetCode力扣练习》第461题 汉明距离 Java

    <LeetCode力扣练习>第461题 汉明距离 Java 一.资源 题目: 两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目. 给你两个整数 x 和 y,计算并返回 ...

  9. 《LeetCode力扣练习》第448题 找到所有数组中消失的数字 Java

    <LeetCode力扣练习>第448题 找到所有数组中消失的数字 Java 一.资源 题目: 给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内.请你 ...

  10. 《LeetCode力扣练习》第338题 比特位计数 Java

    <LeetCode力扣练习>第338题 比特位计数 Java 一.资源 题目: 给你一个整数 n ,对于 0 <= i <= n 中的每个 i ,计算其二进制表示中 1 的个数 ...

最新文章

  1. 基于python的压测工具_Python Locust性能测试简介及框架实践
  2. java 线程组作用_浅析Java中线程组(ThreadGroup类)
  3. 软件是计算机什么及相关文档的总称,1冯-诺依曼原理的基本思想是什么.doc
  4. appium框架之bootstrap
  5. php证券k线图,php画K线图的一个工具
  6. 启动转换安装失败 拷贝windows安装文件时出错_男人的生产力工具:极速拷贝 效率神器 TeraCopy精品推荐...
  7. promise存在的意义分析resolve reject catch
  8. 终于,我读懂了所有Java集合——List篇
  9. lecture7-序列模型及递归神经网络RNN
  10. 关于VS2017提示I/O文件操作函数需要加上_s的解决办法
  11. php中的try语句,PHP Try-catch 语句使用技巧
  12. Microsoft Softwares
  13. PHP 控制器怎么调接口,mvc控制器的访问与参数解析和API接口获取数据
  14. 把你问到哑口无言,HR是专业的!
  15. 关于arduino的各种网站
  16. 扬笛水墨人物画——《怒放4》作品赏析
  17. 华为鸿蒙是安卓9,鸿蒙“翻车”了?网友发现全新的鸿蒙系统居然是安卓9.0,华为骗我们?...
  18. ffmpeg实现g711音频和H264,H265封装mp4(整理,非原创)
  19. android 家长控制app下载,任天堂家长控制app下载-任天堂家长控制 安卓版v1.0.2-PC6安卓网...
  20. Pytorch+Google BERT模型(RoBERTa+LSTM+GRU)实战

热门文章

  1. 3.4.4 选择重传协议(SR)
  2. 线程五种状态(新建、就绪、运行、阻塞、死亡)
  3. ROM、RAM、IROM、IRAM、DRAM、SRAM、Flash介绍
  4. qsort七种排序方法
  5. matplotlib 中将图直接从buffer中变为PIL 再到numpy
  6. slice,substring,substr的区别
  7. 如何创建高质量的TypeScript声明文件(六) - 示例
  8. 依赖注入与Unity
  9. 线段树-离散化处理点
  10. 高性能HTTP加速器varnish实践