LeetCode排序
LeetCode排序
overlordmax
这个作者很懒,什么都没留下…
展开
-
628. 三个数的最大乘积
1.题目描述给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。示例 1:示例 2:示例 3:提示:3 <= nums.length <= 104-1000 <= nums[i] <= 10002.思路1.如果数组中全是非负数,则排序后最大的三个数相乘即为最大乘积;如果全是非正数,则最大的三个数相乘同样也为最大乘积。2.如果数组中有正数有负数,则最大乘积既可能是三个最大正数的乘积,也可能是两个最小负数(即绝对值最大)与最大正数的原创 2021-02-01 11:44:00 · 156 阅读 · 0 评论 -
1636. 按照频率将数组升序排序
1.题目描述给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。如果有多个值的频率相同,请你按照数值本身将它们 降序 排序。请你返回排序后的数组。示例 1:示例 2:示例 3:提示:1 <= nums.length <= 100-100 <= nums[i] <= 1002.思路使用哈希表保存数组每个元素的频次,然后根据频次升序排序,如果频次一样就根据元素值降序排序。3.代码class Solution {public: ve原创 2021-01-09 19:51:31 · 420 阅读 · 1 评论 -
单链表的选择排序
1.题目描述给定一个无序单链表,实现单链表的选择排序(按升序排序)。示例12.思路节点p为已排序链表,节点q为未排序区链表,每次循环找到未排序区的最小值接到已排序区后面。3.代码/** * struct ListNode { * int val; * struct ListNode *next; * }; */class Solution {public: /** * * @param head ListNode类 the head node原创 2020-10-10 16:39:35 · 1373 阅读 · 0 评论 -
912. 排序数组
912. 排序数组1.题目描述给定一个整数数组 nums,将该数组升序排列。示例 1:2.思路主要学习快速排序的partition。3.代码class Solution {public: vector<int> sortArray(vector<int>& nums) { vector<int> res; ...原创 2020-01-10 23:53:40 · 124 阅读 · 0 评论