当前位置:网站首页>字符串的常见算法总结
字符串的常见算法总结
2020-11-06 01:18:00 【ClawHub的博客】
1、无重复字符的最长子串
3. 无重复字符的最长子串
滑动窗口解题。设置一个map来存储字符与其出现的位置,再定义窗口的开始与结束指针。
1 |
public static int lengthOfLongestSubstring(String s) { |
2、 最长公共子序列
1143. 最长公共子序列
涉及到两个字符串求子序列的问题,一般都是动态规划的范畴。难点就是要找到状态转换方程。
定义一个二维数组 dp 用来存储最长公共子序列的长度,其中 dp[i][j] 表示 S1 的前 i 个字符与 S2 的前 j 个字符最长公共子序列的长度。考虑 S1i 与 S2j 值是否相等,分为下面两种情况:
参考这个!!
1 |
public static int longestCommonSubsequence(String text1, String text2) { |
3、最长重复子数组
718. 最长重复子数组
动态规划问题:
1 |
public static int findLength(int[] A, int[] B) { |
4、字符串反转
使用两个指针。
1 |
public static void reverseString(char[] s) { |
5、字符串能否由字典中单词组成
给定一个字符串s和一个字典dict,判断字符串能否有字典中的字符串组成,字典中的字符串可以出现多次。例如s=“Ilovebytedance”,dict={“I”,“love”,“bytedance”}
用动态规划,dp[i]表示字符串s[0~i]是否可分的bool值。
字节跳动 单词拼接
139. 单词拆分
参考这里!!!
也是动态规划问题:
1 |
public static boolean wordBreak(String s, List<String> wordDict) { |
6、给定字符串的全排列
算法题解:给定一个字符串输出其全排列形式的所有字符串(JAVA代码)
字符串的全排列 Java实现
递归加回溯思想。
总结
字符串常见的算法解决思路好多都是动态规划问题。
版权声明
本文为[ClawHub的博客]所创,转载请带上原文链接,感谢
https://clawhub.club/posts/2020/01/06/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E5%B8%B8%E8%A7%81%E7%AE%97%E6%B3%95%E6%80%BB%E7%BB%93/
边栏推荐
- 恕我直言,我也是才知道ElasticSearch条件更新是这么玩的
- Azure Data Factory(三)整合 Azure Devops 實現CI/CD
- Cocos Creator 原始碼解讀:引擎啟動與主迴圈
- Real time data synchronization scheme based on Flink SQL CDC
- Python自动化测试学习哪些知识?
- 嘘!异步事件这样用真的好么?
- 连肝三个通宵,JVM77道高频面试题详细分析,就这?
- How to demote a domain controller in Windows Server 2012 and later
- 大数据应用的重要性体现在方方面面
- 6.9.1 flashmapmanager initialization (flashmapmanager redirection Management) - SSM in depth analysis and project practice
猜你喜欢
随机推荐
词嵌入教程
給萌新HTML5 入門指南(二)
6.9.1 flashmapmanager initialization (flashmapmanager redirection Management) - SSM in depth analysis and project practice
神经网络简史
前端模組化簡單總結
快快使用ModelArts,零基礎小白也能玩轉AI!
Vue.js移动端左滑删除组件
[译] 5个Vuex插件,给你的下个VueJS项目
PPT画成这样,述职答辩还能过吗?
python 下载模块加速实现记录
Network programming NiO: Bio and NiO
Azure Data Factory(三)整合 Azure Devops 實現CI/CD
mongodb(从0到1),11天mongodb初级到中级进阶秘籍
WeihanLi.Npoi 1.11.0/1.12.0 Release Notes
Gradient understanding decline
连肝三个通宵,JVM77道高频面试题详细分析,就这?
GBDT与xgb区别,以及梯度下降法和牛顿法的数学推导
用Python构建和可视化决策树
Pycharm快捷键 自定义功能形式
自然语言处理-搜索中常用的bm25