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

Golang | Leetcode Golang题解之第387题字符串中的第一个唯一字符

题目:

题解:

type pair struct {
    ch  byte
    pos int
}

func firstUniqChar(s string) int {
    n := len(s)
    pos := [26]int{}
    for i := range pos[:] {
        pos[i] = n
    }
    q := []pair{}
    for i := range s {
        ch := s[i] - 'a'
        if pos[ch] == n {
            pos[ch] = i
            q = append(q, pair{ch, i})
        } else {
            pos[ch] = n + 1
            for len(q) > 0 && pos[q[0].ch] == n+1 {
                q = q[1:]
            }
        }
    }
    if len(q) > 0 {
        return q[0].pos
    }
    return -1
}

相关文章:

  • 时序预测 | 基于VMD-SSA-LSSVM+LSTM多变量时间序列预测模型(Matlab)
  • Vue(十一)默认插槽、具名插槽、作用域插槽
  • 【ORACLE】listagg() 函数
  • 第4章 汇编语言和汇编软件
  • JAVA vs Python:谁更适合后端开发?
  • 使用C++编写接口调用PyTorch模型,并生成DLL供.NET使用
  • UFUG2601-OJ 2048 Game
  • SpringMVC 第一次复学笔记
  • AI智能电销机器人的优势是什么,有什么特点?
  • vscode使用
  • 【Postgresql】地理空间数据的存储与查询,
  • 速盾:防御ddos攻击的几大有效方法是什么?
  • 笔记:应用Visual Studio Profiler分析CPU使用情况
  • 4、Django Admin对自定义的计算字段进行排序
  • 论tomcat线程池和spring封装的线程池
  • 第二章 数据访问:JPA
  • 探索Ansible自动化运维:提高效率的关键工具
  • zabbix和prometheus介绍;云原生
  • 数据结构之 “单链表“
  • 2d像素游戏基本架构
  • 五一小长假,带着小狗去上海音乐厅
  • 俄外长:俄将在不损害伙伴关系前提下发展对美关系
  • 中国空间站首批在轨繁育果蝇即将返回地球,有望获得多项科学成果
  • 五一“拼假”催热超长假期,热门酒店民宿一房难求
  • 暗蓝评《性别打结》丨拆解性别之结需要几步?
  • 长三角铁路“五一”假期运输今启动:预计发送旅客量增6%,5月1日当天有望创新高