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
}
相关推荐
墨染点香3 小时前
LeetCode 刷题【42. 接雨水】
算法·leetcode·职场和发展
博哥爱吃肉6 小时前
第2篇_Go语言基础语法_变量常量与数据类型
开发语言·算法·golang
এ᭄画画的北北13 小时前
力扣-347.前K个高频元素
算法·leetcode
chillxiaohan15 小时前
GO学习记录五——数据库表的增删改查
数据库·学习·golang
亮亮爱刷题16 小时前
算法提升之树上问题-(LCA)
数据结构·算法·leetcode·深度优先
火车叨位去194917 小时前
力扣top100(day03-01)--二叉树 03
算法·leetcode·职场和发展
岁忧17 小时前
(LeetCode 每日一题) 1780. 判断一个数字是否可以表示成三的幂的和 (数学、三进制数)
java·c++·算法·leetcode·职场和发展·go
胖咕噜的稞达鸭19 小时前
数据结构---关于复杂度的基础解析与梳理
c语言·数据结构·算法·leetcode
-睡到自然醒~1 天前
[go] 命令模式
java·开发语言·javascript·后端·golang·命令模式