lintcode 记录-medium difficulty
文章平均质量分 81
chriscute
这个作者很懒,什么都没留下…
展开
-
整数排序
给一组整数,按照升序排序。使用归并排序,快速排序,堆排序或者任何其他 O(n log n) 的排序算法。若从空间复杂度来考虑:首选堆排序,其次是快速排序,最后是归并排序。若从稳定性来考虑,应选取归并排序,因为堆排序和快速排序都是不稳定的。若从平均情况下的排序速度考虑,应该选择快速排序。 1.归并排序:分治法(Divide and Conquer)的一个非常典型的应用原创 2016-10-19 11:14:05 · 401 阅读 · 0 评论 -
逆序对
在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。给你一个数组,求出这个数组中逆序对的总数。概括:如果a[i] > a[j] 且 i 您在真实的面试中是否遇到过这个题? Yes样例序列 [2, 4, 1, 3, 5] 中,有 3 个逆序对 (2, 1), (4, 1), (4, 3),则返回 3 。1.原创 2016-12-05 16:24:12 · 228 阅读 · 0 评论 -
丑数I II
写一个程序来检测一个整数是不是丑数。丑数的定义是,只包含质因子 2, 3, 5 的正整数。比如 6, 8 就是丑数,但是 14 不是丑数以为他包含了质因子 7可以认为 1 是一个特殊的丑数。public class Solution { /** * @param num an integer * @return true if num原创 2016-06-17 10:55:29 · 383 阅读 · 0 评论 -
分割回文串
给定一个字符串s,将s分割成一些子串,使每个子串都是回文串。返回s所有可能的回文串分割方案。您在真实的面试中是否遇到过这个题? Yes样例给出 s = "aab",返回[ ["aa", "b"], ["a", "a", "b"]]public class Solution { /** * @p原创 2016-12-06 17:39:52 · 417 阅读 · 0 评论