随笔分类 -  排序算法

摘要:题目链接:剑指Offer51 题目描述: 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1: 输入: [7,5,6,4] 输出: 5 限制: 0 <= 数组长度 <= 50000 题解: 解题思路: 在排序过程中统 阅读全文
posted @ 2022-03-29 12:58 张宵 阅读(56) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/median-of-two-sorted-arrays/ 题目描述: 题解: class Solution { public: double findMedianSortedArrays(vector<int>& nums1 阅读全文
posted @ 2021-07-06 15:48 张宵 阅读(38) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/sort-list/ 题目解题: 方法一:归并排序 /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *ne 阅读全文
posted @ 2021-06-07 21:00 张宵 阅读(45) 评论(0) 推荐(0)
摘要:全文引用:图解排序算法之归并排序 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之 阅读全文
posted @ 2021-06-05 13:40 张宵 阅读(43) 评论(0) 推荐(0)
摘要:1.插入排序 基本思想:每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。 时间复杂度:最坏O(N^2),最好O(N) 空间复杂度O(1) vector<int> insertionSort9(vector<int>& nums) { if(nums.size <= 阅读全文
posted @ 2021-05-14 13:46 张宵 阅读(110) 评论(0) 推荐(0)
摘要:题目链接:https://leetcode-cn.com/problems/top-k-frequent-elements/ 题目描述: 代码: 方法一:哈希+桶排序 首先依旧使用哈希表统计频率,统计完成后,创建一个数组(桶),每个桶存储出现频率相同的数。桶的下标表示数出现的频率,即第 i 个桶中存 阅读全文
posted @ 2021-01-31 18:53 张宵 阅读(214) 评论(0) 推荐(0)