摘要: 题目 求数组中两两相加等于20的组合。 例:给定一个数组[1, 7, 17, 2, 6, 3, 14],这个数组中满足条件的有两对:17+3=20, 6+14=20。 解析 分为两个步骤: 1. 先采用堆排序或快速排序对数组进行排序,时间复杂度为O(nlogn)。 2. 然后对排序的数组分别从前到后 阅读全文
posted @ 2018-10-28 22:17 Terry_Chen 阅读(2022) 评论(0) 推荐(0)
摘要: 题目 一个链表,奇数结点升序,偶数结点降序,要求变成一个全升序的链表。 例如:1 8 2 7 3 6 4 5,变为1 2 3 4 5 6 7 8 解析 按照以下步骤处理: 1. 按照奇偶位拆分为两个链表 2. 反转偶数结点构成的链表 3. 合并两个递增链表 Python实现 阅读全文
posted @ 2018-10-28 16:45 Terry_Chen 阅读(1763) 评论(0) 推荐(0)
摘要: 堆排序(Heap Sort) 是一棵具有以下性质的 : 大顶堆:每个结点的值都大于或等于其左右孩子结点的值 小顶堆:每个结点的值都小于或等于其左右孩子结点的值 的主要思想: 将待排序列构造成一个大顶堆,此时堆顶元素就是整个序列的最大值,将堆顶元素与堆数组的末尾元素进行交换。然后将剩余的n 1个元素重 阅读全文
posted @ 2018-10-28 12:01 Terry_Chen 阅读(1627) 评论(0) 推荐(0)