LeetCode
onesafe
这个作者很懒,什么都没留下…
展开
-
Two Sum
给一个整数数组,找到其中的两个数,加起来等于我们给定的另一个数,唯一解返回两个数的下标(从1开始算,第一个小于第二个下标)输入:numbers={2, 7, 11, 15}, target=9输出:index1=1, index2=2分析:一开始想着肯定是两次循环,然后两个数的和加起来等于target,但是这样明显超时了然后想着先排序,排完序之后效率可以提高原创 2014-09-12 20:51:52 · 497 阅读 · 0 评论 -
Median of Two Sorted Arrays
题目:有两个有序数组A[m],B[n];找到两个有序数组的中间值。时间fuzha原创 2014-09-12 22:23:15 · 527 阅读 · 0 评论 -
Longest Substring Without Repeating Characters
题目:给一个字符串,找到最长的子串,子串不包括重复字符,例如:"abcabcbb"的最长子串就是"abc",长度为3."bbbbb"的最长子串是"b",长度为1分析:用哈希的方法,从前往后扫描一遍,最长子串中的字符不能重复,所以扫描时遇到的字符如果在之前出现过,那么说明此时之前扫描过的字符串有可能是最长的子串。又因为子串不能重复,所以找到之前扫描过的字符串中与当前相等的字符原创 2014-09-13 11:54:25 · 423 阅读 · 0 评论 -
Add Two Numbers
题目:给两个单链表代表两个非负数字,每个数字都是逆序存储,并且单链表每个节点存储一个数(0-9),将这两个数相加,返回一个链表输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8分析:遍历两个链表,从链表中分别取出数字,相加,如果大于等于10则进一位,十位数也是,如果十位数也大于等于10则十位数上也要进一位。如果链表长原创 2014-09-13 16:35:59 · 575 阅读 · 0 评论 -
Longest Palindromic Substring
题目:给一个字符串s,找到s中最长的回文子串,假定s的最大长度为1000,最长回文子串唯一分析:有一个专门针对回文子串的算法,其时间复杂度为O(n),这就是manacher算法。把原串每个字符中间用一个没出现过的字符#分隔开来(非常巧妙的将奇数长度回文串与偶数长度回文串统一起来考虑了),算法的核心是用辅助数组p记录以每个字符为核心的最长回文字符串的半径,也就是p[i]记录了原创 2014-09-15 19:50:03 · 427 阅读 · 0 评论