最长特殊序列(二)

解决方案

方法一:暴力解法 【超出时间限制】

暴力解法中,生成两个字符串所有的子序列共 2的 n 个,将其存储在 hashmap 中,并记录每个子序列出现的次数。然后找出出现次数为 1 的最长子序列。如果不存在这样的子序列,返回 −1 。

Java 实现

复制代码
public class Solution {
    public int findLUSlength(String a, String b) {
        HashMap < String, Integer > map = new HashMap < > ();
        for (String s: new String[] {a, b}) {
            for (int i = 0; i < (1 << s.length()); i++) {
                String t = "";
                for (int j = 0; j < s.length(); j++) {
                    if (((i >> j) & 1) != 0)
                        t += s.charAt(j);
                }
                if (map.containsKey(t))
                    map.put(t, map.get(t) + 1);
                else
                    map.put(t, 1);
            }
        }
        int res = -1;
        for (String s: map.keySet()) {
            if (map.get(s) == 1)
                res = Math.max(res, s.length());
        }
        return res;
    }
}

复杂度分析

相关推荐
zfoo-framework3 分钟前
1.ansible安装 2.虚拟机克隆
java
码上解惑12 分钟前
从 Dify 工作流说起:常用节点怎么选、怎样组合?
java·人工智能·ai·agent·dify·智能体·spring ai
稚南城才子,乌衣巷风流28 分钟前
ST 表(Sparse Table)算法详解:原理、实现与应用
算法
hold?fish:palm34 分钟前
9 找到字符串中所有字母异位词
c++·算法·leetcode
小大宇40 分钟前
python flask框架 SSE流式返回、跨域、报错
开发语言·python·flask
Sw1zzle1 小时前
算法入门(六):贪心算法 - 基础入门(Leetcode 121/455/860/376/738)
算法·leetcode·贪心算法
青山木1 小时前
Hot 100 --- 岛屿数量
java·数据结构·算法·leetcode·深度优先·广度优先
柒星栈1 小时前
PHP 源码怎么加密防破解?三套方案实战指南
开发语言·php·android studio
不会就选b1 小时前
算法日常・每日刷题--<归并排序>1
数据结构·算法
勉灬之1 小时前
Next.js + Prisma 跨平台部署踩坑记
开发语言·javascript·ecmascript