当前位置: 首页 > 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.lryc.cn/news/579195.html

相关文章:

  • 鸿蒙开发技巧---去除字符串两端的空格
  • AI大模型如何重塑软件开发流程?从自动化革命到人机共生范式
  • 怎样理解:source ~/.bash_profile
  • 深入Flink核心概念:解锁大数据流处理的奥秘
  • SAP WM LT10 TO创建增强
  • Android Auto即将带来变革
  • Agno(一)
  • 机器学习在智能制造业中的应用:质量检测与设备故障预测
  • Vue + RuoYi 前后端分离入门手册
  • Ubuntu云服务器上部署发布Vite项目
  • Redis基础(1):NoSQL认识
  • 端到端自动驾驶系统关键技术
  • 开发自动驾驶系统所需工具
  • 2025美国券商交易系统综合开发及解决方案报告:低延迟、全球化与代币化技术赋能机构业务新生态
  • “山河”应急指挥决策AI智能体 - 全生命周期构建实施说明
  • 轻松上手:使用Nginx实现高效负载均衡
  • python中的pydantic是什么?
  • 逆向入门(25、26)程序逆向篇-KeygenMe,MexeliteCRK1
  • Linux基本命令篇 —— alias命令
  • MIT协议开源CRM系统:打造高效客户关系管理解决方案
  • 【Vue入门学习笔记】项目的创建与基础认识
  • 存储过程封装:复杂业务逻辑的性能优化
  • 基于 TOF 图像高频信息恢复 RGB 图像的原理、应用与实现
  • 监测检测一体化项目实践——整体功能规划
  • 物联网实战:多语言(Java、Go、Rust、C++、C#、Rust)设备接入与数据处理
  • macOS挂载iOS应用沙盒文件夹
  • TikTok电商广告重大调整:GMVmax全面取代传统广告模式
  • iOS 集成RN Installing glog (0.3.5)报错的解决方案
  • 【echarts】解决 ECharts 图表模糊问题的实践心得:单条数据时字体颜色灰蒙蒙的, 图例失真, 字体模糊问题解决
  • 闲庭信步使用SV搭建图像测试平台:第二十六课——图像的二值化