-
LeetCode题解
收藏算法是程序员的基本功。LeetCode上的算法题目既包含数学和字符串处理等基础算法,数组、链表、栈、堆、树等基本数据结构,也包含了动态规划、贪心算法等高级分析技术。本专栏内文章按题目分类,给出一个基本的分析和AC的解法,部分题目可能并非最优解,欢迎大家共同讨论。
最近更新文章
LeetCode[贪心算法] - #122 Best Time to Buy and Sell Stock II
原题链接:#122 Best Time to Buy and Sell Stock II
要求:
假定你有一个包含n个元素的整型数组,其中的第i个元素是指定股票在第i天的价格。
设计一个算法来计算在这n天里可能获得的最大利润。注:只考虑单只该股票的买入和卖出时机,一天内可以买卖多次,但不允许同一时间内存在多次交易(即:再次买入之前,必须买入该股票)
难度:中等
分析:
...
LeetCode[动态规划] - #5 Longest Palindromic Substring
原题链接:#5 Longest Palindromic SubString
要求:
给定一个字符串S,找出它的最长回文子串。假定S的最大长度为1000,且最长回文子串唯一
难度:中等
分析:
假定字符串s为回文字符串,则在s头部和尾部分别添加相同字符串[x],所得结果s'=[x]s[x]也为回文字符串(论述1)。可使用动态规划方法解决此问题,递推公式便基于此特性。
创 ...
LeetCode[链表] - #2 Add Two Numbers
原题链接:#2 Add Two Numbers
要求:
给定两个以链表表示的非负整数,链表中的每个节点保存整数中的一位,以倒序排列(例如,321表示为1->2->3)。把这两个数字相加,作为一个链表返回。
输入:(2->4->3) + (5->6->4)
输出:7->0->8
难度:中等
分析:
本题思路比较直接 ...
LeetCode[链表] - #21 Merge Two Sorted Lists
原题链接:#21 Merge Two Sorted Lists
要求:
合并两个已排序的单向链表,将合并后的结果作为一个链表返回。
ListNode定义:
public class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
难度:简单
分析:
由 ...
- 专栏创建者:Cwind
- 创建时间:2015-07-19 23:24:01
- 专栏文章数:18篇
- 专栏被浏览:53564 次
本专栏热门文章
最新评论
用两个hash表,O(N)public boolean isAnagram(String str0, ...
kyzaqlx 评论了 LeetCode[排序] - #242 Valid Anagram
kyzaqlx 评论了 LeetCode[排序] - #242 Valid Anagram
Cwind 写道cywhoyi 写道有点意思,比起KMP简单得多,上次跟人介绍KMP,烦死了这个算是比 ...
cywhoyi 评论了 LeetCode[动态规划] - #5 Longest Palindr ...
cywhoyi 评论了 LeetCode[动态规划] - #5 Longest Palindr ...
cywhoyi 写道有点意思,比起KMP简单得多,上次跟人介绍KMP,烦死了这个算是比较简单的DP应用 ...
Cwind 评论了 LeetCode[动态规划] - #5 Longest Palindr ...
Cwind 评论了 LeetCode[动态规划] - #5 Longest Palindr ...