
算法
文章平均质量分 90
zkp_java
这个作者很懒,什么都没留下…
展开
-
[leetcode] 729: My Calendar I
DescriptionImplement a MyCalendar class to store your events. A new event can be added if adding the event will not cause a double booking.Your class will have the method, book(int start, int end)...原创 2018-03-10 17:42:06 · 284 阅读 · 0 评论 -
[算法] 逆波兰表达式(栈实现)
问题计算给定的逆波兰表达式的值,有效操作只有+−∗/+−∗/+-*/,每个操作数都是整数;例如: ”2”, “1”, “+”, “3”, “*” : 9,(2+1)*3“4”, “13”, “5”, “/”, “+” : 6,4+(13/5)分析对于逆波兰表达式abc-d*;若当前字符是操作数,则压栈;若当前字符是操作符,则弹出栈中的两个操作数,计算后仍然压入栈中:...原创 2018-06-19 23:33:23 · 1183 阅读 · 0 评论 -
[算法] 排序算法总结
插入排序算法过程算法初始认为第一个元素是有序的,第二个元素及其后面的元素都是无序的,算法的过程就是将后面无序的元素依次插入到前面有序的元素中合适的位置的过程,期间可能需要移动前面部分有序的元素。代码实现private static void insert_sort(int[] array) { int length = array.length; ...原创 2018-06-30 21:48:02 · 212 阅读 · 0 评论 -
[算法] 括号匹配问题
问题给定字符串,仅由”()[]{}”六个字符组成,设计算法,判断该字符串是否有效。其中括号以正确的顺序配对称之为有效,如:”()”、”()[]”都是有效的,但”([)]”是无效的。...原创 2018-06-16 08:20:30 · 1429 阅读 · 0 评论 -
[算法] 最短路径条数问题
问题给定如图所示的无向连通图,假定图中所有边的权值均为1,显然,从源点A到终点T的最短路径有多条,求不同的最短路径数目。 分析权值相同的最短路径问题,则单源点DijkstraDijkstraDijkstra算法退化为BFS广度优先算法, 使用DijkstraDijkstraDijkstra算法只能求的到各个节点的最短路径,但不能求得最短路径的条数。假定起点为0,终点为N,数组step...原创 2018-06-15 23:57:54 · 4910 阅读 · 0 评论 -
[算法] 拓扑排序
定义对一个有向无环图(Directed Acyclic Graph,DAG)G进行拓扑排序,使得2任意一对定点uuu、vvv,若边(u,v)∈E(G)(u,v)∈E(G)(u,v) \in E(G),则在线性序列中uuu出现在vvv之前。如下图所示的DAG: 一种可能的拓扑排序是:2->8->0->3->7->1->5->6->9->...原创 2018-06-14 23:35:13 · 227 阅读 · 0 评论 -
[算法] 链表操作
链表节点定义链表相关的操作中我们定义链表节点和公共操作如LinkListCommon.hpp所示:#ifndef LinkListCommon_hpp#define LinkListCommon_hpp#include <stdio.h>typedef struct tagSNode { int value; tagSNode* pNext; ...原创 2018-06-08 00:31:19 · 193 阅读 · 0 评论 -
[算法] 最长公共子序列
问题一个序列SSS任意删除若干个字符得到新序列TTT,则TTT叫做SSS的子序列;两个序列XXX和YYY的公共子序列中,长度最长的那个,定义为XXX和YYY的最长公共子序列(LCS,Longest Common Subsequence): 字符串134551345513455与245576245576245576的最长公共子序列为455455455字符串acdfgacdfgacdfg与...原创 2018-06-22 00:05:22 · 275 阅读 · 0 评论 -
[算法] 字符串循环左移
问题给定一个字符串S[0...N−1]S[0...N−1]S[0...N-1],要求把SSS的前kkk个字符串移动到SSS的尾部,如把字符串abcdefabcdefabcdef,前面的两个字符aaa、bbb移动到移动到字符串的尾部,得到新字符串cdefabcdefabcdefab:即字符串循环左移kkk个:循环左移n+kn+kn+k2和kkk2的效果相同;循环左移kkk位等价于循环右移...原创 2018-06-21 23:00:56 · 495 阅读 · 0 评论 -
[leetcode] 654: 构造最大二叉树
DescriptionGiven an integer array with no duplicates. A maximum tree building on this array is defined as follow: The root is the maximum number in the array. The left subtree is the maximu...原创 2018-03-04 14:45:12 · 938 阅读 · 0 评论 -
[leetcode] 535:短域名编码和解码
Description: TinyURL is a URL shortening service where you enter a URL such as https://leetcode.com/problems/design-tinyurl and it returns a short URL such as http://tinyurl.com/4e9iAk. Desig...原创 2018-03-03 10:36:34 · 803 阅读 · 0 评论 -
[leetcode] 731
DescriptionImplement a MyCalendarTwo class to store your events. A new event can be added if adding the event will not cause a triple booking.Your class will have one method, book(int start, int e...原创 2018-03-10 18:30:18 · 359 阅读 · 0 评论 -
[算法] 入栈出栈问题
问题给定无重复元素的两个等长数组,分别表述入栈序列和出栈序列,请问:这样的出栈序列是否可行: 例如:入栈序列为”ABCDEFG”、出栈序列为”BAEDFGC”,则可行;入栈序列为”ABCD”、出栈序列为”BDAC”,不可行;分析使用一个栈S来模拟压栈出栈的操作,栈顶元素即为s,记入栈序列为A,出栈序列为B,遍历B的每个元素b: 初始状态:栈s为空,认为栈顶元素与b相等,将A...原创 2018-06-20 00:18:34 · 3924 阅读 · 0 评论