随笔分类 - LeetCode
摘要:题目: 找出字符串中最长匹配括号的长度,如“)()())()()(”,结果为4 思路: ) ( ) ( ) ) ( ) ( ) ( 0 1 2 3 4 5 6 7 8 9 10 用一个栈去存储索引,当当前字符为“)”或栈为空时,存储该字符,当栈顶的索引对应的字符为“(”,并且当前字符为“)”时,弹出
阅读全文
摘要:题目如下: Divide two integers without using multiplication, division and mod operator. If it is overflow, return MAX_INT. 分析: 整型相除,不使用乘除法的话,只能使用减法较为简单了。即循
阅读全文
摘要:给出一组数:V = {-8,-4,-1,-1,0,0,0,0,0,1,2,5,7} 找出所有和为0的三个元素的组合:[[-8, 1, 7], [-4, -1, 5], [-1, -1, 2], [-1, 0, 1], [0, 0, 0]] 基本思路: 先排序:{-8,-4,-1,-1,0,0,0,0
阅读全文
摘要:罗马数字采用七个罗马字母作数字、即Ⅰ(1)、X(10)、C(100)、M(1000)、V(5)、L(50)、D(500)。 一开始我按照10进制的思想来做,针对不同区间,编辑不同的罗马表达方式,比如1~9,10~90,100~900,1000~3000 以下是代码: 后来看到网上有一个简便的,先找到
阅读全文
摘要:如上图,从两端向中间计算,先求第一个和最后一个的容量,并将最短那条向中间移动,依次类推。 分析如下: 对于线段(a1,a2,a3,a4,a5,a6),假设a1<a6,则对a1而言,所能得到的最大容器便是(a1-a6),故接下来便可以舍弃a1线段,跳到a2. 假设a2>a6,则最a6而言,除了刚才的(
阅读全文
摘要:题目描述: 使用字符串p来表示字符串s,看是否匹配。比如“c*a*b“可以匹配”aab“,此时第一个*表示有0个c,第二个*表示有1个a。 思路: 比如:s="aaab" , p="c*a*b" 代码:
阅读全文
摘要:题目描述如下: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows like this: (you may want to display this pattern in a fix
阅读全文
摘要:转载:https://www.felix021.com/blog/read.php?2040 首先用一个非常巧妙的方式,将所有可能的奇数/偶数长度的回文子串都转换成了奇数长度:在每个字符的两边都插入一个特殊的符号。比如 abba 变成 #a#b#b#a#, aba变成 #a#b#a#。 为了进一步减
阅读全文