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

Golang | Leetcode Golang题解之第438题找到字符串中所有字母异位词

题目:

题解:

func findAnagrams(s, p string) (ans []int) {sLen, pLen := len(s), len(p)if sLen < pLen {return}count := [26]int{}for i, ch := range p {count[s[i]-'a']++count[ch-'a']--}differ := 0for _, c := range count {if c != 0 {differ++}}if differ == 0 {ans = append(ans, 0)}for i, ch := range s[:sLen-pLen] {if count[ch-'a'] == 1 { // 窗口中字母 s[i] 的数量与字符串 p 中的数量从不同变得相同differ--} else if count[ch-'a'] == 0 { // 窗口中字母 s[i] 的数量与字符串 p 中的数量从相同变得不同differ++}count[ch-'a']--if count[s[i+pLen]-'a'] == -1 { // 窗口中字母 s[i+pLen] 的数量与字符串 p 中的数量从不同变得相同differ--} else if count[s[i+pLen]-'a'] == 0 { // 窗口中字母 s[i+pLen] 的数量与字符串 p 中的数量从相同变得不同differ++}count[s[i+pLen]-'a']++if differ == 0 {ans = append(ans, i+1)}}return
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 智能监控,守护绿色能源:EasyCVR在电站视频监控中心的一站式解决方案
  • 华为GaussDB数据库(单机版)在ARM环境下的安装指南
  • 【C++笔试强训】如何成为算法糕手Day5
  • Html jquery下拉select美化插件——selectFilter.js
  • 街头摊贩检测系统源码分享
  • 微信小程序showLoading ,showToast ,hideLoading连续调用出现showLoading 不关闭的情况记录
  • Linux云计算 |【第四阶段】NOSQL-DAY2
  • 了解针对基座大语言模型(类似 ChatGPT 的架构,Decoder-only)的重头预训练和微调训练
  • SpringCloud 2023各依赖版本选择、核心功能与组件、创建项目(注意事项、依赖)
  • Redis一些简单通用命令认识常用数据类型和编码方式认识Redis单线程模型
  • 【Python-GUI图形化界面-PyQt5模块(3)】——Qwidget核心模块
  • Django项目配置日志
  • 【重学 MySQL】四十、SQL 语句执行过程
  • ArrayList源码实现(一)
  • 重头开始嵌入式第四十三天(硬件 ARM架构 汇编语言)
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Angular 响应式表单之下拉框
  • Angularjs之国际化
  • Apache的80端口被占用以及访问时报错403
  • If…else
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • maven工程打包jar以及java jar命令的classpath使用
  • mockjs让前端开发独立于后端
  • Mysql数据库的条件查询语句
  • React16时代,该用什么姿势写 React ?
  • React-生命周期杂记
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • Vue官网教程学习过程中值得记录的一些事情
  • 初识MongoDB分片
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 简单实现一个textarea自适应高度
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 前端每日实战:61# 视频演示如何用纯 CSS 创作一只咖啡壶
  • 数据仓库的几种建模方法
  • 小程序开发中的那些坑
  • 栈实现走出迷宫(C++)
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • $.ajax()方法详解
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (1)Jupyter Notebook 下载及安装
  • (145)光线追踪距离场柔和阴影
  • (3)llvm ir转换过程
  • (6)添加vue-cookie
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (算法)前K大的和
  • (一)Docker基本介绍
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .NET CORE 3.1 集成JWT鉴权和授权2