LeetCode
vergilsmallshoes
这个作者很懒,什么都没留下…
展开
-
LeetCode刷题(一) —— 等差数列划分
题目:如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,以下数列为等差数列:1, 3, 5, 7, 97, 7, 7, 73, -1, -5, -9以下数列不是等差数列。1, 1, 2, 5, 7 数组 A 包含 N 个数,且索引从0开始。数组 A 的一个子数组划分为数组 (P, Q),P 与 Q 是整数且满足 0<=P<Q<N 。如果满足...原创 2018-05-02 21:42:06 · 919 阅读 · 0 评论 -
LeetCode刷题(二) —— 整数拆分
题目:给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。例如,给定 n = 2,返回1(2 = 1 + 1);给定 n = 10,返回36(10 = 3 + 3 + 4)。注意:你可以假设 n 不小于2且不大于58。分析:这个问题实际是一个动态规划问题。我们所要避免的是在和中尽可能少的出现1,所以设n = x1 + x2 + x3 + ... ...原创 2018-05-03 10:22:01 · 3751 阅读 · 2 评论 -
LeetCode刷题(三) —— 两数之和
题目:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [分析:这个问题是数组中元素的求和问题,可以用最暴力的遍历两次数组解决,时间复杂度为O(n²),效率比较底下。我采...原创 2018-05-04 21:28:23 · 148 阅读 · 0 评论 -
LeetCode刷题(四) —— 两数相加
题目:给定两个非空链表来表示两个非负整数。位数按照逆序方式存储,它们的每个节点只存储单个数字。将两数相加返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807分析:很简单的一个对链表进行遍历操作的题。每次遍...原创 2018-05-07 13:55:48 · 144 阅读 · 0 评论 -
LeetCode刷题(五) —— 无重复字符的最长子串
题目:给定一个字符串,找出不含有重复字符的最长子串的长度。示例:给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3。给定 "bbbbb" ,最长的子串就是 "b" ,长度是1。给定 "pwwkew" ,最长子串是 "wke" ,长度是3。请注意答案必须是一个子串,"pwke" 是 子序列 而不是子串。分析:最简单的方法是遍历两次字符串原创 2018-05-07 14:11:23 · 246 阅读 · 0 评论