leetcode495. Teemo Attacking

2020-02-01
阅读 2 分钟
2k
In LOL world, there is a hero called Teemo and his attacking can make his enemy Ashe be in poisoned condition. Now, given the Teemo's attacking ascending time series towards Ashe and the poisoning time duration per Teemo's attacking, you need to output the total time that Ashe is in poisoned cond...

leetcode556. Next Greater Element III

2020-01-07
阅读 2 分钟
2.1k
Given a positive 32-bit integer n, you need to find the smallest 32-bit integer which has exactly the same digits existing in the integer n and is greater in value than n. If no such positive 32-bit integer exists, you need to return -1.

leetcode442. Find All Duplicates in an Array

2019-07-02
阅读 2 分钟
1.8k
存在一个整数数组,其中的所有元素都位于1~n之间,其中n是数组的长度。有的元素出现了一次,而有的元素出现了两次。找到数组中所有出现两次的数字。

leetcode448. Find All Numbers Disappeared in an Array

2019-05-05
阅读 2 分钟
1.5k
但是这个实现违背了O(1)的空间复杂度(这里结果集不视为额外空间)。因此如何才能避免使用临时数组呢?其实我们可以利用原数组中元素相互调换的方式,将其转化为一个新的有序的数组。即从最左边开始,每遇到一个元素,就将其防止到元素的目标位置上,如在第0位上遇到元素i,则将位置i-1上的元素和位置0上的元素进行交换...

leetcode299. Bulls and Cows

2018-03-05
阅读 2 分钟
2.7k
Bulls and Cows游戏简单来说就是你随手写下一个n位数,并让你同学猜这个数字是什么。假设你的朋友也会猜测一个n位数,他每猜一个数字,你就需要告诉他,猜测的数字中位置正确且值正确的数字(bulls)有几个,位置不正确但是值不正确的数字(cows)有几个。

leetcode289. Game of Life

2018-03-04
阅读 4 分钟
1.4k
这个内容在维基百科上讲述的非常详细,有图文示例。这个游戏玩家在游戏开始后是不能操作的,完全是由最初的状态来决定最终的结果。板上的每个小格子有两种状态,live或dead。而根据游戏规则,每一次这个板上的内容将会随着前一次板上的内容发生变化。变化的规则如下:

leetcode153-154 find minimum rotated sorted array

2017-08-31
阅读 2 分钟
1.4k
题目要求 {代码...} 假设有一个升序排序的数组,在某个节点处断开并调换了顺序。寻找这个断开数组中的最小元素。 当数组中不存在重复的元素 通过二分法来实现在logN的时间中找到最小的值。通过二分法往往会有以下几种情况 位于一个升序的数组中,也就是左侧值小于右侧值,这时候左侧值就是最小值。 左侧值小于中间值,那...

leetcode85. Maximal Rectangle

2017-08-01
阅读 4 分钟
1.8k
dp的一个思路就是通过存储换效率。也就是说,我将前序遍历过程中的一些有效值存储下来,以供后序遍历参考。从而省去了许多重复遍历,提高效率。这里我使用两个二维int数组来分别记录到matrix[i][j]为止的最大长度和最大高度。如果matrixi不是最左侧和最上侧的点,还需要判断其所能构成的最大矩形。

leetcode84. Largest Rectangle in Histogram

2017-07-18
阅读 4 分钟
2.2k
这里我首先想到的是leetcode 42 Trapping Rain Water,可以参考我的这篇博客。因为在42题中,如果我找到了当前矩形左右的最近最高矩形即可。而在本题中,同样是需要找到该矩形左右的最高矩形,但不同的是,一旦我在左右搜寻的过程中遇到了一个比当前矩形矮的矩形,遍历即结束。所以两道题目的要求还是存在区别的。

leetcode 41. First Missing Positive

2017-07-14
阅读 2 分钟
2.2k
要实现这种空间复杂度,一般需要有限数量的临时变量来记录遍历的有效范围,再利用原有题目中的数据结构来存储其余的临时变量。这些临时变量可以是排除出的量,也可以是有效量。在这里我用leftPointer记录有效数字的开始下标(即将无效数字转移到leftPointer左侧),利用maxPositive记录数组最大有效整数(换句话说,如果...

leetcode73. Set Matrix Zeroes

2017-07-12
阅读 3 分钟
1.4k
这里题目中给出了三种空间复杂度。第一种是O(mn),也就是新建一个boolean[m][n]的二维数组,如果该行列上值为0,则将其对应位置上的值也设置为0.最后再遍历boolean[][],将true所在的行列设置为0。但是这种方法不仅boolean[][]中很多值用不到,还会导致重复的0赋值行为,效率很低。这里给出O(m+n)空间复杂度的方法。新...

leetcode78. Subsets

2017-07-08
阅读 2 分钟
3.2k
类似的题目有:leetcode60 Permutation Sequence 可以参考这篇博客leetcode77 Combinations 可以参考这篇博客

leetcode64 Minimum Path Sum

2017-06-29
阅读 1 分钟
1.6k
同样,最左侧和最上侧的节点都只有一条路径可以到达,所以它们的路径唯一。其它的节点则可以通过左侧或上侧的节点到达。只需要判断左或上哪条路径更短即可。代码如下:

leetcode59 Spiral Matrix II

2017-06-19
阅读 2 分钟
2k
题目要求 {代码...} 也就是将递加的数字按照顺时针的顺序依次填入数组之中 这道题目联系到Spiral Matrix I,其实就相当好解决了。Spiral Matrix I可以参考我的这篇博客 具体代码 在参考完这篇博客后,就会发现,这里其实就是将读取数据反过来改为填入数据,代码如下: {代码...} 想要了解更多开发技术,面试教程以及互联...