字符串
写吧HJ
向着数据研发工程师不断努力
展开
-
算法题目总结 -- 最长不重复子串
解题思路遇到不重复首先要想到用set来解决问题遇到字符串或者数组类的问题首先想在复杂度下能否解决问题,即在一次遍历序列的过程中,解决问题针对最长不重复子串的思路在一次遍历中,维护一个set集合,代表字符串S中S[0…i]中最长不重复子串中的元素种类,变量start为当前不重复子串的起始索引,变量end为当前不重复子串的结束索引,变量res表示S[0…i]中最长不重复子串的长度。...原创 2019-03-21 22:18:17 · 347 阅读 · 0 评论 -
算法题目总结 -- 用kmp算法字符串匹配的问题
字符串匹配概念字符串匹配问题的形式定义:字符串1 – str1:长度为m的字符串字符串2 – str2:长度为n的字符串,其中m>=n求解:str2是否为str1的一个子串通用方法暴力求解遍历str1,从str1中的每一位开始尝试匹配,逐个比较str1和str2中的字符是否相等,若str2完全匹配,则返回这一位的索引;否则,尝试在str1的下一位开始匹配。时间复杂度为O(m...原创 2019-03-21 22:55:27 · 342 阅读 · 0 评论 -
算法题目总结 -- 表示数值的字符串
问题描述请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100",“5e2”,"-123",“3.1416"和”-1E-16"都表示数值。 但是"12e",“1a3.14”,“1.2.3”,"±5"和"12e+4.3"都不是。解题思路用正则表达式代码public class Solution { public boolean isNumeric(c...原创 2019-03-21 22:57:08 · 90 阅读 · 0 评论 -
算法题目总结 -- 正则表达式匹配
问题描述请实现一个函数用来匹配包括’.‘和’‘的正则表达式。模式中的字符’.‘表示任意一个字符,而’'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"abaca"匹配,但是与"aa.a"和"ab*a"均不匹配解题思路这道题采取动态规划的方式来解答。首先,定义一个二维数组DP[][],DP[i][j]表示...原创 2019-03-21 23:04:41 · 524 阅读 · 0 评论 -
算法题目总结 -- 字符串的全排列
题目描述输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。解题思路从字符串数组中每次选取一个元素,作为结果中的第一个元素。然后,对剩余的元素全排列,步骤跟上面一样。很明显这是个递归处理的过程,一直到最后即可。代码import java.util.Arrays;p...原创 2019-03-21 23:06:42 · 200 阅读 · 0 评论 -
算法题目总结 -- 最长回文子串
题目描述给定一个字符串,找出其中最长的回文子串解题思路暴力法最容易想到的就是暴力破解,求出每一个子串,之后判断是不是回文,找到最长的那个求每一个子串时间复杂度O(N^2), 判断子串是不是回文O(N),两者是相乘关系,所以时间复杂度为O(N^3)。动态规划...原创 2019-03-19 00:25:47 · 389 阅读 · 0 评论