- 博客(5)
- 收藏
- 关注
原创 leetcode课程表
//in[i]记录修第i门课需要修其他课的数量,当为in[i]0时,这门课可以修 //next[i][j]=1记录第j门课的基础课之一是i //用队列把当前可修的课in[i]=0压入,弹出后把next[i][j]=1对应的in[j]-- //用一个int记录压入队列的in[i]=0的个数,最后如果等于课程数则true否则返回false #include<vector> #include...
2019-08-13 21:36:04 197
原创 直方图的最大面积--单调栈求解,时间O(n)
//.....单调栈存放从小到大的数,相等也存放进去,如果新来的第i个数比栈顶小则处理栈顶元素..... //.....处理过程:取出栈顶元素,若有相等,弹出直到没有相等的元素,记下标 k则以该元素为..... //.....高的最大矩形面积为 area=元素值*[i-j-1] //.....若遍历完数组,栈中还有元素,则每个元素最多可以扩到数组最右的位置,能扩到左边的 //.....位置的求法...
2019-08-12 20:49:35 241
原创 字符串中的最长回文串--manacher
class Solution { public: string changeString(string s) { //aba → #a#b#a char* arr = new char[2 * s.length() + 2]; //在leetcode编译器上必须是2*length+2,留个位置给结束符"\0"如果是2*length+1会报错,在VS上则不会 int index ...
2019-08-11 23:42:44 110
原创 判断链表是否为回文链表--时间O(n)空间O(1)
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ // 思路:快慢指针找到中间点,把链表后半部分翻转,前后两个字指针判断对应位置值...
2019-08-11 22:20:46 244 1
原创 LRUCache缓存机制
LRUCache Leetcode上的LRUCache缓存机制,实现get和put时时间复杂度O(1). // #include<iostream> #include<map> using namespace std; //------------------------leetcode LRUCache----------------------------// // ...
2019-08-11 14:03:16 278
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人