
算法与数据结构
文章平均质量分 83
d7Derik
这个作者很懒,什么都没留下…
展开
-
Wiggle Subsequence
题目来源输入一个整型数组nums,该数组表示一个序列,序列中元素的大小顺序是随机的。从数组中去除若干个元素后,可以得到wiggle sequence。求能够得到的最长wiggle sequence的长度。wiggle sequence是一种满足相邻元素的差值严格遵循正负交替特点的序列。长度为1的序列都算作wiggle sequence。例如:Input: [1,7,4,9,2,5]原创 2017-12-11 11:05:15 · 243 阅读 · 0 评论 -
Word Ladder(单词阶梯)
题目来源Given two words (beginWord and endWord), and a dictionary's word list, find the length of shortest transformation sequence from beginWord to endWord, such that:Only one letter can be cha原创 2017-12-09 15:05:36 · 917 阅读 · 0 评论 -
Find Right Interval(寻找右区间)
题目来源给出一个区间数组,要求其中每个区间的最邻近右区间。如果存在,则返回最邻近右区间在数组中的下标;如果不存在,则返回-1。区间A的最邻近右区间B定义为,区间B的左边界大于或等于区间A的右边界,并且区间B是该区间数组所有满足条件的区间中左边界最小的区间。题目保证所有区间的右区间大于或等于其左区间,并且所有区间的左区间都互不相同。例如:Input: [ [1,2] ]Outpu原创 2018-01-07 09:27:24 · 398 阅读 · 0 评论 -
一个典型的DP优化过程
问题描述输入一个二维字符类型数组,其元素取值只可能为'0'或'1'。求该数组中由'1'构成的最大正方形的面积(即包含的元素个数)。例如,如果输入如下二维数组:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0那么,就输出4。---------------------------一、Brute Force最容易想到的是一种比较直接的做法:(1)遍历该二维数组;(2)如果当前元素...原创 2018-03-11 13:26:14 · 251 阅读 · 0 评论 -
0-1背包问题:Ones and Zeroes
问题描述输入一组字符串Array,其中的每个字符串中只可能出现’0’和’1’两种字符;给定两个整数m和n。现在从这组字符串中选取一些字符串,求在保证所选字符串中’0’的个数之和不超过m、’1’的个数之和不超过n的前提下,能够选取到的字符串的最大个数。例如:Input: Array = {"10", "0001", "111001", "1", "0"}, m = 5, n = 3Output: 4...原创 2018-03-12 11:32:51 · 294 阅读 · 0 评论 -
DP中辅助空间的两种常见用法
DP(动态规划)本质上是一种利用辅助空间来降低时间复杂度的方法,它利用表来存储中间状态,从而避免子问题的重复计算。DP中辅助空间有两种常见的用法,下面通过一道题来演示。问题描述给出一个包含非负整数的数组。选手1和选手2轮流从该数组取数,每次取数时只能从数组头部或尾部取数,并且取过的数后面不可以再取。当所有数都被取完时,统计两个选手各自所取数的和,和较大的选手获胜。选手1先取,求选手1能否获胜(当两...原创 2018-03-13 11:12:50 · 792 阅读 · 0 评论