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

LeetCode Hot 100 滑动窗口 【Java和Golang解法】

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

3.无重复字符的最长子串
在这里插入图片描述

Java解法

class Solution {public int lengthOfLongestSubstring(String s) {if (s.length() <= 1) {return s.length();}Map<Character, Integer> record = new HashMap<>();int left = 0;int maxLength = 0;for (int right = 0; right < s.length(); right++) {Character c = s.charAt(right);if (record.containsKey(c) && record.get(c) >= left) {left = record.get(c) + 1;}record.put(c, right);maxLength = Math.max(maxLength, right - left + 1);}return maxLength;}
}

Golang解法

func lengthOfLongestSubstring(s string) int {if len(s) <= 1 {return len(s)}record := make(map[rune]int)left := 0maxLength := 0for right, v := range s {if index, ok := record[v]; ok{if index >= left {left = index + 1}}record[v] = rightif maxLength < (right - left + 1) {maxLength = right - left + 1}}return maxLength
}

2.找到字符串中所有字母异位词

438.找到字符串中所有字母异位词

在这里插入图片描述

Java解法

class Solution {public List<Integer> findAnagrams(String s, String p) {List<Integer> result = new ArrayList<>();if (p.length() > s.length()) {return result;}char[] pCharsArray = p.toCharArray();Arrays.sort(pCharsArray);String pSorted = new String(pCharsArray);for (int i = 0; i <= s.length() - p.length(); i++) {String s1 = s.substring(i, i + p.length());char[] s1CharsArray = s1.toCharArray();Arrays.sort(s1CharsArray);if (pSorted.equals(new String(s1CharsArray))) {result.add(i);}}return result;}
}

Golang解法(leetcode提示超时)

func findAnagrams(s string, p string) []int {var result []intif len(p) > len(s) {return result}pCharSlice := []rune(p)sort.Slice(pCharSlice, func(i, j int) bool {return pCharSlice[i] < pCharSlice[j]})pSorted := string(pCharSlice)for i := 0; i <= len(s) -len(p); i++ {subString := s[i : i + len(p)]subCharSlice := []rune(subString)sort.Slice(subCharSlice, func(i, j int) bool {return subCharSlice[i] < subCharSlice[j]})if pSorted == string(subCharSlice) {result = append(result, i)}}return result
}
http://www.dtcms.com/a/265078.html

相关文章:

  • 90.xilinx复位低电平(一般使用低电平复位)
  • 单链表和双向链表
  • python自动化运维
  • Redis基础(2):Redis常见命令
  • 多模态DeepSeek大模型的本地化部署
  • Colormind:优秀大模型赋能国产求解器,打造自主可控建模平台
  • 数学建模_拟合
  • 【Erdas实验教程】026:遥感图像辐射增强(去条带处理)
  • IDEA2025 Version Control 窗口 local changes显示
  • JavaScript 性能优化实战:减少 DOM 操作引发的重排与重绘
  • 操作系统考试大题-处理机调度算法-详解-2
  • 代码实现特殊的字段的基本功能
  • 用Rust编写的开源支付解决方案——Hyperswitch
  • springboot集成达梦数据库,取消MySQL数据库,解决问题和冲突
  • nohup java -jar 命令启动jar包,项目仍然会挂掉或者停止运行的解决方案
  • C++——手撕智能指针、单例模式、线程池、String
  • Vue + RuoYi 前后端分离入门手册
  • [深度学习环境踩坑记录]ubuntu22.04安装RTX3060驱动,黑屏、桌面只有壁纸和鼠标,一顿折腾
  • javaWeb02-Tomcat
  • java.sql.SQLSyntaxErrorException: Unknown column ‘user_name‘ in ‘field list‘
  • YOLOv11剪枝与量化(一)模型压缩的必要性
  • Qt写入excel
  • 整流电路Multisim电路仿真实验汇总——硬件工程师笔记
  • Rust实现FasterR-CNN目标检测全流程
  • 教程:国内如何免费用Claude4+GPT4o生成高质量科研绘图
  • vue动态绑定样式
  • Kalibr解毒填坑(一):相机标定失败
  • 408第三季part1 - 操作系统 - 文件基本概念
  • 基于STM32的土豆种植自动化灌溉系统设计与实现
  • java依赖注入方法