每日一题---3. 无重复字符的最长子串[力扣][Go]
2023-03-14 22:55:14 时间
题目描述
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
代码
func lengthOfLongestSubstring(s string) int { // 判断非空 if s == "" { return 0 } max := 1 // 记录最大次数 afterIndex := 1 // 利用切片,需要后面下标 frontIndex := 0 // 利用切片,需要前面下标 for frontIndex < len(s) { for afterIndex < len(s){ // 字符不存在则加一,否则退出两下标都加一 if isHaveChar(s[frontIndex:afterIndex],s[afterIndex]) { break } else { afterIndex++ } } if max < afterIndex - frontIndex { // 判断本次的长度和最大长度内个长 max = afterIndex - frontIndex } frontIndex ++ } return max } // 判断字符串中是否有特定字符 func isHaveChar(s string,n uint8 ) bool { for _, i := range s { if uint8(i) == n{ return true } } return false }
测试结果
相关文章
- 如何在 Ubuntu 中安装 Viber
- HarmonyOS 基于ArkUI(ETS) 实现雷达扫描
- Github 推出“赞助商专用”仓库,根据赞助金额解锁新功能
- 供应链分析:保持物流顺畅的五个技巧
- HashSet 集合,从入门到精通
- OpenHarmony数据转码应用开发实战(上)
- 微软或将推出瘦客户端 PC:搭载 Windows 365 云电脑服务,价格便宜但有广告
- Vanilla OS:不只是原味 GNOME 的 Ubuntu
- 如何分析产品新功能的效果?
- Linux运维之json文件操作
- 如何通过 chroot 恢复 Arch Linux 安装
- 关于 find 命令的15个超级有用的例子
- 如何在 Linux 命令行中删除指定扩展名的文件
- 数据发现在数据网格架构中的重要性
- WebAssembly入门(Golang版)你学会了吗?
- 每个数据分析师都应该了解的六个预测模型
- Bash、Source、“.”和“./”执行的区别
- 如何在 Ubuntu和 Debian 上创建 sudo 用户
- 如何在 Linux 中更改 Shell
- 大数据和算法是如何把人拉入无尽的娱乐深渊的