摘要:
《剑指Offer》面试题集收录汇总面试题1赋值运算符函数不适合在线模式面试题2实现Singleton模式不适合在线模式面试题3二维数组中的查找已收录面试题4替换空格已收录面试题5从头到尾打印链表已收录面试题6重建二叉树已收录面试题7用两个栈实现队列已收录面试题8旋转数组的最小数字已收录面试题9斐波那契数列已收录面试题9(变形)跳台阶已收录面试题9(变形)变态跳台阶已收录面试题9(变形)矩形覆盖已收录面试题10二进制中1的个数已收录面试题11数值的整数次方已收录面试题12打印1到最大的N位数已收录面试题13在O(1)时间删除链表结点不适合在线模式面试题14调整数组顺序使奇数位于偶数前面已收录面试 阅读全文
摘要:
题目一, 题目二思路1. 第一遍做时就参考别人的, 现在又忘记了做的时候使用的是二维动态规划, 超时加超内存2. 只当 string 左部分是回文的时候才有可能减少 cut3. 一维动规. 令 cuts[i] 表示string[i, string.size()] 所需的切割数, 那么状态转移方程为 cuts[i] = min(cuts[j]+1) j > i && string[i, j] is palindrome时间复杂度上仍是 o(n*n), 但更新 cuts 的限制条件比较多了, cuts[i] 更新频率较低代码:超时二维动规代码#include #include 阅读全文
摘要:
FROM思路1. 将后半段截取下来再倒序, 插入到前半段, 时间复杂度为 o(n)代码#include using namespace std;struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} };class Solution {public: void reorderList(ListNode *head) { if(head == NULL) return; int size = 0; ListNo... 阅读全文
摘要:
LCA 分为几种情况1. Binary Search Tree 的 LCA2. Binary Tree with parent pointer3. Binary Tree without parent pointer4. ordinary Tree without parent pointerBinary Search Tree思路1. 对一个节点 node, 假如 n1,n2 均大/小于 node->val, 那么LCA一定在 node->right 分支上2. 若一个大于一个小于, 则 LCA 就是 node 本身3. updown 解法, log(n) 的时间复杂度Binar 阅读全文
摘要:
在做 compiler 语义分析时, 需要用到 map在别人的代码上做扩展, 所以有些代码是不能动的这时, 需要一个 map 的数据结构, 但是我并不清楚 symbol 是否重载了 , 成功了#include #include using namespace std;class unknow {private: int index;public: int get_index() { return index; } void increment() { index++; } /* bool operatorindex mapping; unknow *u1 = new unknow(); ... 阅读全文
摘要:
QuestionGiven two words (startandend), and a dictionary, find all shortest transformation sequence(s) fromstarttoend, such that:Only one letter can be changed at a timeEach intermediate word must exist in the dictionaryFor example,Given:start="hit"end="cog"dict=["hot",& 阅读全文
摘要:
题目Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must rearrange it as the lowest possible order (ie, sorted in ascending order).The replacement must be in-place, do not allocate extra memory. 阅读全文
摘要:
题目Given a string containing just the characters'('and')', find the length of the longest valid (well-formed) parentheses substring.For"(()", the longest valid parentheses substring is"()", which has length = 2.Another example is")()())", where the longes 阅读全文
摘要:
题目Clone an undirected graph. Each node in the graph contains alabeland a list of itsneighbors.思路1. 这题明说, label 独一无二, 那么就可以使用 hash map 存储元素2. BFS 搜索, 边搜边向 hash map 添加元素3. 在设置标记位上 TLE 了 N 次, 一个元素一旦被假如到 hash map, 就说明该元素已经被访问到了并已被假如到 queue 中, 同时环的问题也被克服了. 我在做的时候, 把环的问题拉出来单独处理, 但标记忘记了4. unordered_map 这种设 阅读全文
摘要:
题目There areNgas stations along a circular route, where the amount of gas at stationiisgas[i].You have a car with an unlimited gas tank and it costscost[i]of gas to travel from stationito its next station (i+1). You begin the journey with an empty tank at one of the gas stations.Return the starting g 阅读全文