题目描述Awson 最近越来越蠢了,一天就只知道 zyys。他定义了一个 zyys 数列:这个数列满足:1.是另外两个数列 A,B 的公共子序列;2.数列单调递增。现在他有一个问题,我们假设知道两个长度均为 N 的序列 A,B,如何去找最长的 zyys数列呢?由于他只会 zyys 了,他把这个问题交 ...
分类:
其他好文 时间:
2017-09-18 17:18:27
阅读次数:
136
题目链接 写代码能力需要极大提升。我在五分钟之内想到了单调栈,然后花了一个小时的时间去看我单调队列为啥写错了…… 首先这题需要转换自己的思维。枚举所有“最小点”,然后看它往左往右最大能扩展多少。 维护一个单调递增的序列,弹栈时就会是这种情况: 设被弹出去的元素是s,那它为什么会被弹出去呢?因为它比当 ...
分类:
其他好文 时间:
2017-09-15 16:42:12
阅读次数:
140
题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 这题说明自己对链表还是不熟悉。 1 /* 2 struct ListNode { 3 int val; 4 struct ListNode *next; 5 ListNode(int x) : ...
分类:
编程语言 时间:
2017-09-02 20:43:10
阅读次数:
213
输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 方法一: 递归实现:两个链表合并为第三个链表pHead3; ...
分类:
编程语言 时间:
2017-08-27 15:27:15
阅读次数:
132
题目链接:UVA - 1476 题目大意: 寻找函数F(X)的最低点。 已经f(x) = ax2 + bx + c F(x) = max(Si(x)), i = 1 . . . n. 题目分析: 可以使用三分来进行查找。 二分可以用于查找单调递增或者单调递减的函数, 三分可以用于查找一个凸(凹)性函 ...
分类:
其他好文 时间:
2017-08-27 12:04:16
阅读次数:
134
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1102 题意: 思路: 做法就是求出每个长方形向左向右所能延伸的最大距离。 我这里用单调栈来做,维护一个单调递增的栈(自底向上递增),如果当前值大于栈顶,那么直接进栈,如果小 ...
分类:
其他好文 时间:
2017-08-19 11:09:40
阅读次数:
118
题意:求柱状图中最大矩形面积。 单调栈:顾名思义就是栈内元素单调递增的栈。每次插入数据来维护这个栈,假设当前须要插入的数据小于栈顶的元素,那就一直弹出栈顶的元素。直到满足当前须要插入的元素大于栈顶元素为止。能够easy求出某个数左边或右边,第一个大于或小于它的数,且复杂度是O(n)O(n)。 思路: ...
分类:
其他好文 时间:
2017-08-19 10:49:52
阅读次数:
113
首先引出一个例子 问题 : 给你一个长度为 6 的数组 , 数组元素为 { 1 ,4,5,6,2,3,8 } , 则其最长单调递增子序列为 { 1 , 4 , 5 , 6 , 8 } , 并且长度为 5 。 分析 : 题目所要找的递增子序列 , 想想有什么特点呢 ? 是不是会发现 所有的递增序列 , ...
分类:
其他好文 时间:
2017-08-17 10:30:50
阅读次数:
95
题目描述 输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。 思路:非递归 class Solution { public: ListNode* Merge(ListNode* pHead1, ListNode* pHead2) { if(!pHead1) ...
分类:
编程语言 时间:
2017-08-06 12:47:18
阅读次数:
207
新增一个链表,然后分别采用2个指针指向这两个链表,每次比较链表的值,将较小的那一个存入新链表中。需要主要的是对空链表进行处理,主要还是考察代码的鲁棒性。总共2个链表,数组分别是1,3,5,7,和2, 4, 6,8 采用java进行实现。 ...
分类:
其他好文 时间:
2017-08-03 11:27:08
阅读次数:
165