面试题
文章平均质量分 70
Kefault
这个作者很懒,什么都没留下…
展开
-
最长回文字符串
动态规划://使用flag[i][j]记录s[i--j]是否是一个回文串//然后逐渐增加i--j的长度//若s[i]==s[j]&&flag[i+1][j-1]则为回文串bool flag[1010][1010];string longestPalindrome(string s){ int len = s.length(); memset(flag,false,s原创 2016-09-22 22:48:16 · 339 阅读 · 0 评论 -
leetcode 11.Container With Most Water
题意:给出1-n每个下标线的高度,问使用哪两条线和x轴做容器能放最多的水。一种方法遍历高度,先从大到小排序高度,然后取出前两个放在x轴上,坐标为l和r,然后依次遍历剩下的线,因为高度一直减小,所以要求后面遍历的线使得r-l变大即可。struct node{ int x,height;}nt;bool cmp(node a,node b){ return a原创 2016-09-24 18:51:59 · 350 阅读 · 0 评论 -
leetcode 32.Longest Valid Parentheses
题意:给出一个括号的序列,问能够正确匹配的最长的长度。假设给定的串是“(())()(()”,当碰到“(”时,给定值为0,碰到“)”,判断前面是否有能够进行匹配的“(”,若有,则给值2,否则给0。这里可以使用栈来进行匹配“()”,但是遇到“(())”这样,对于第一个“(”,当后面的“()”匹配成功出栈的时候,第一个“(”在栈顶,那么就需要记录一下,在它右侧成功匹配了多少括号,当它也成原创 2016-09-24 19:15:52 · 340 阅读 · 0 评论 -
leetcode 146. LRU Cache
题意:实现LRU(最近最久未用),包括get和set操作。//使用一个双向链表存储数据(地址和内容),数据的顺序表示了它们被访问的时间顺序,越靠后访问时间越早//使用Map存储地址(key)对应的链表中数据的地址,加快数据的查找速度//get操作:只需向Map中查找是否有对应项即可,存在则将双向链表中的数据删除,并在链表前端重新插入//set操作:先在Map中查找是否有对应项,如原创 2017-06-27 16:20:54 · 350 阅读 · 0 评论