leetcode506. Relative Ranks

2019-11-12
阅读 3 分钟
1.6k
Given scores ofNathletes, find their relative ranks and the people with the top three highest scores, who will be awarded medals: "Gold Medal", "Silver Medal" and "Bronze Medal".

leetcode164. Maximum Gap

2018-02-23
阅读 2 分钟
1.7k
这里并不需要完全的进行排序。我们只需要找到合适的区间划分,并将各个数字丢到其所属的区间中。之后,我们只需要比较前一个区间的最大值和后一个区间的最小值之间的差距即可以获得该数组最大的间隔。

leetcode148. Sort List

2018-01-07
阅读 2 分钟
1.7k
在给出了明确的时间复杂度和空间复杂度后,我第一个想到的就是利用divide and conquer 方法进行排序。那么问题就归结为如何将链表分为大小相近的两半以及如何将二者合并。了解利用分治法对数组进行排序的童鞋应该知道,我们会根据数组的下标将数组取一半分别进行排序后,再将排序好的二者进行合并。那么将链表分为大小相...

leetcode80. Remove Duplicates from Sorted Array II

2017-07-05
阅读 2 分钟
1.7k
其实在这里我们仍然延续I中的思路。在遇到非重复值以及非多余的重复值时,将数值移动到当前记录的下标上。保证该下标前的值均为满足题目条件的值。第一次我使用了count来记录某个值出现的次数。

leetcode75. Sort Colors

2017-07-04
阅读 2 分钟
1.6k
如何能在一次遍历的过程中实现三个数字的排序呢~这就需要使用到双指针。我们要确保左指针之前的数值全部是0,右指针之后的数值全部是2。这样他就可以确保左右指针之间的数字为1,从而实现0,1,2的排序。代码如下:

leetcode 81 Search in Rotated Sorted Array II

2017-06-26
阅读 3 分钟
2k
在上一道题目的基础上,我们知道,如果数组中存在重复值,可能会出现类似于[1,3,1,1]这种情况出现。如果在这时候使用二分法,很可能会无法判断出到底属于左半侧数组还是右半侧数组。这是我们可以将情况分为以下几种。