Fan Bu's Blog


  • Home

  • Categories1

  • Archives14

406. Queue Reconstruction by Height

Posted on 2018-02-22 | In LeetCode

LeetCode 406. Queue Reconstruction by Height

根据题意,输入的类型是int[][],其中int[i][0]表示第i个元素的高度,int[i][1]表示第i个元素前面大于等于这个元素高度的元素的个数。

Read more »

280. Wiggle Sort

Posted on 2018-02-22 | In LeetCode

LeetCode 280. Wiggle Sort

如题所述,需要调整数组使得数组满足题述条件。直观地考虑,可以遍历一次数组,发现当前元素和下一元素不满足题述关系时,交换他们。

代码如下。

Read more »

155. Min Stack

Posted on 2018-02-17 | In LeetCode

LeetCode 155. Min Stack

看到题目的第一反应是,这不就是最小堆吗?但是仔细看题,题目要求的四个操作都是在常数时间完成的,最小堆无法达到这样的性能。而且,题目要求的是能够入栈、出栈、看栈顶和看最小值,并没有要求弹出最小值。事实上,如果要每次都弹出最小值,那就只能是最小堆了。

仔细分析,考虑一种基本解法。建立两个栈,一个栈作为常规栈,实现常规的入栈出栈。另一个栈作为最小值栈,存储记录当某次入栈出栈导致最小值变化时,新的最小值。

Read more »

20. Valid Parentheses

Posted on 2018-02-17 | In LeetCode

LeetCode 20. Valid Parentheses

基础括号匹配问题。括号匹配肯定要用栈。栈里存什么呢?这个题目里栈里存当前期望的右括号最合适。

代码如下。

Read more »

345. Reverse Vowels of a String

Posted on 2018-02-17 | In LeetCode

LeetCode 345. Reverse Vowels of a String

如题所述,将字符串中的原因字母逆序排列。双指针问题。代码和快排中一次partition的操作相似。

代码如下。

Read more »

Anagram of Strings

Posted on 2018-02-13 | In LeetCode

一个字符串$a$是另一个字符串$b$的anagram,需要满足以下两个条件:

  • $a$和$b$包含相同的字母表$\Sigma$。

  • 对于每一个$c\in \Sigma$,$a$和$b$中包含有相同个数的$c$。

Read more »

326. Power of Three

Posted on 2018-02-12 | In LeetCode

LeetCode 326. Power of Three

如题所述,对于判断一个数$n$是否是任意一个质数$a$的指数的问题,我们都可以用以下方法来求。

  • 找到整数范围内能表示的最大的这个质数的指数$max$。

  • 用$max$对$n$取模,如果模为0则结果为真,否则结果为假。

代码如下。

Read more »

66. Plus One

Posted on 2018-02-12 | In LeetCode

LeetCode 66. Plus One

如题所述,要在用数组表示的数值上加1,其中数组里每个位置上的数值表示十进制的一位。这里存在一个问题:这个数字是大端表示还是小端表示?根据测试用例我们可以看到是大端表示。

Read more »

231. Power of Two

Posted on 2018-02-10 | In LeetCode

LeetCode 231. Power of Two

如题所述,要判断一个数字是不是2的指数。

如果一个数字n是2的指数,那么n & (n - 1) == 0。

Read more »

387. First Unique Character in a String

Posted on 2018-02-10 | In LeetCode

LeetCode 387. First Unique Character in a String

按照题意,我们考虑一种直观的解法。

  • 设置一个大小为26的int数组charCount,用来记录每个字符出现的次数。

  • 第一次遍历字符串,对于每一个字符c,将charCount[c - 'a']自增1。

  • 第二次遍历字符串,对于每一个下标i,如果该位置的字符对应的计数值为1,我们知道在整个字符串中这个字符只出现了一次,范围这个下标i即可。

Read more »
12

Fan Bu

14 posts
1 categories
© 2018 Fan Bu