Golang | Leetcode Golang题解之第392题判断子序列

题目:

题解:

Go 复制代码
func isSubsequence(s string, t string) bool {
    n, m := len(s), len(t)
    f := make([][26]int, m + 1)
    for i := 0; i < 26; i++ {
        f[m][i] = m
    }
    for i := m - 1; i >= 0; i-- {
        for j := 0; j < 26; j++ {
            if t[i] == byte(j + 'a') {
                f[i][j] = i
            } else {
                f[i][j] = f[i + 1][j]
            }
        }
    }
    add := 0
    for i := 0; i < n; i++ {
        if f[add][int(s[i] - 'a')] == m {
            return false
        }
        add = f[add][int(s[i] - 'a')] + 1
    }
    return true
}
相关推荐
DdddJMs__1352 小时前
C语言 | Leetcode C语言题解之第413题等差数列划分
c语言·leetcode·题解
QXH2000003 小时前
Leetcode—环形链表||
c语言·数据结构·算法·leetcode·链表
Wils0nEdwards4 小时前
Leetcode 缺失的第一个正整数
leetcode
__AtYou__8 小时前
Golang | Leetcode Golang题解之第405题数字转换为十六进制数
leetcode·golang·题解
吃着火锅x唱着歌8 小时前
Go语言设计与实现 学习笔记 第七章 内存管理(1)
笔记·学习·golang
程序猿练习生9 小时前
C++速通LeetCode简单第16题-买卖股票的最佳时机
开发语言·c++·leetcode
Chase-Hart9 小时前
【每日一题】LeetCode 1184.公交站间的距离问题(数组)
java·算法·leetcode·eclipse·intellij-idea
Chase-Hart11 小时前
【每日一题】LeetCode 815.公交路线(广度优先搜索、数组、哈希表)
数据结构·算法·leetcode·散列表·宽度优先
GZK.11 小时前
【Leetcode】70. 爬楼梯
算法·leetcode·动态规划
GoppViper12 小时前
golang学习笔记24——golang微服务中配置管理问题的深度剖析
笔记·后端·学习·微服务·golang·配置管理