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

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
}

http://www.kler.cn/a/291059.html

相关文章:

  • BlueLM:以2.6万亿token铸就7B参数超大规模语言模型
  • 题海拾贝:力扣 86.分隔链表
  • 解决小程序中ios可以正常滚动,而Android失效问题
  • CarWatchdog
  • 【机器人】ATM 用于策略学习的任意点轨迹建模 RSS 2024 | 论文精读
  • 基于w25q128的智能门禁
  • 计算机毕业设计hadoop+spark+hive知识图谱股票推荐系统 股票数据分析可视化大屏 股票基金爬虫 股票基金大数据 机器学习 大数据毕业设计
  • 【大数据分析与挖掘算法】matlab实现——改进的Apriori关联规则算法
  • 基于单片机的浴室防雾镜系统设计
  • 使用python+opencv解析图像和文本数据
  • 前端常用的几种设计模式--观察者模式、单例模式等
  • 前端:HTML、CSS、JS、Vue
  • 怎样在公司将手机屏幕(远程)投屏到家里的大电视上?
  • Redis在Spring Boot中的应用详细讲解和案例示范
  • Verilog刷题笔记62
  • pyqt fromlayout 布局中间空隙问
  • mac 软连接需要绝对路径
  • HtmlSanitizer: 一个保护你的网站免受XSS攻击的.Net开源项目
  • 集成电路学习:什么是OLED有机发光二极管
  • 【为项目做准备】Linux操作系统day2
  • 不管夫妻还是情人,想要长相厮守、生活幸福美满,就这两个字!
  • 【C++】模板特化
  • I.MX6U嵌入式Linux Platform设备驱动开发(2)自带LED和杂项驱动
  • 乐凡三防平板高性能为稳定运行保驾护航
  • Python和JAX及MATLAB小波分析导图
  • vue项目生成插件的LICENSE文件