leetcode
liuwei1206
PhD student.
展开
-
leetcode5:最长回文子串
这个题目主要是运用manacher算法,又称为马拉车算法,下面对算法进行介绍。manacher算法 首先,定义一些变量,假设当前访问的是第ii个位置: 1.p[i]:1.p[i]:表示已第ii个字符为中心的最长回文子串的半径。 2.maxRight:i2.maxRight:i之前(包括ii)所对应的回文子串所能到达的最右边的位置。 然后假设现在要求以第j(假设j=i+k)j(原创 2017-10-28 14:18:53 · 331 阅读 · 0 评论 -
leetcode4:Median of Two Sorted Arrays
本质上就是一个有序数组合并,然后求中位数,不用细讲,直接给代码!package _20171021;public class Main { public static void main(String[] args) { int[] array1 = {1,26,39,42,52}; int [] array2 = {10,23,45,65,89};原创 2017-10-21 09:53:06 · 252 阅读 · 0 评论 -
leetcode3. Longest Substring Without Repeating Characters
解法一:1.维护三个变量:max用于记录当前最大值, next表示当前维护的正确子串, pre表示之前出现的重复字符再上一次出现的最靠前位置A1:当前重复字符当前位置 A2:当前重复字符上一次位置B1:A之前某个重复字符的位置 B2:A之前某个重复字符的上一次位置,其中有B2是所有A之前重复字符中,上一次出现位置最靠前这个特性 程序一直运行,直到遇到一个出现过的字符,判断A2和B2做比较,如果A2原创 2017-10-15 10:12:30 · 237 阅读 · 0 评论 -
leetcode10:Regular Expression Matching
1.题目如下: '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The function prototype should be: boo...原创 2018-03-11 10:30:09 · 282 阅读 · 0 评论