排序
文章平均质量分 61
李牧九丶
奉己为神
展开
-
从零学算法240
输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 20。输入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5。.编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。原创 2024-02-18 15:07:12 · 386 阅读 · 0 评论 -
从零学算法33
在传递给函数之前,nums 在预先未知的某个下标 k(0原创 2024-02-18 13:49:20 · 344 阅读 · 0 评论 -
从零学算法56
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]。输入:intervals = [[1,3],[2,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。输入:intervals = [[1,4],[4,5]]输出:[[1,6],[8,10],[15,18]]输出:[[1,5]]原创 2024-02-05 11:11:51 · 389 阅读 · 0 评论 -
从零学算法215
请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。.给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。输入: [3,2,3,1,2,4,5,5,6], k = 4。你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。输入: [3,2,1,5,6,4], k = 2。原创 2024-02-05 11:02:31 · 872 阅读 · 0 评论 -
从零学算法162
给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。解释:3 是峰值元素,你的函数应该返回其索引 2。输入:nums = [1,2,1,3,5,6,4]解释:你的函数可以返回索引 1,其峰值元素为 2;.峰值元素是指其值严格大于左右相邻值的元素。输入:nums = [1,2,3,1]或者返回索引 5, 其峰值元素为 6。原创 2024-02-04 17:28:33 · 392 阅读 · 0 评论 -
从零学算法347
给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。输入: nums = [1,1,1,2,2,3], k = 2。输入: nums = [1], k = 1。原创 2024-01-29 16:37:40 · 375 阅读 · 0 评论 -
从零学算法75
给定一个包含红色、白色和蓝色、共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。输入:nums = [2,0,2,1,1,0]输入:nums = [2,0,1]输出:[0,0,1,1,2,2]输出:[0,1,2]原创 2024-01-29 15:18:05 · 493 阅读 · 0 评论 -
从零学算法(LCR 170)
在股票交易中,如果前一天的股价高于后一天的股价,则可以认为存在一个「交易逆序对」。请设计一个程序,输入一段时间内的股票交易记录 record,返回其中存在的「交易逆序对」总数。解释:交易中的逆序对为 (9, 7), (9, 5), (9, 4), (9, 6), (7, 5), (7, 4), (7, 6), (5, 4)。输入:record = [9, 7, 5, 4, 6]原创 2023-10-24 15:42:18 · 83 阅读 · 0 评论 -
归并排序学习
归并排序采用了分而治之的思想,所以主要分为“分”和“治”两部分。原创 2023-09-05 10:53:02 · 230 阅读 · 0 评论 -
从零学算法295
double findMedian() 返回到目前为止所有元素的中位数。// 返回 1.5 ((1 + 2) / 2).中位数是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。void addNum(int num) 将数据流中的整数 num 添加到数据结构中。例如 arr = [2,3] 的中位数是 (2 + 3) / 2 = 2.5。MedianFinder() 初始化 MedianFinder 对象。例如 arr = [2,3,4] 的中位数是 3。原创 2023-09-04 16:45:12 · 360 阅读 · 0 评论 -
快速排序学习
由于之前做看到题解用了快排提升效率,就浅学了一下快速排序,还是似懂非懂。首先快排的核心有两点,哨兵划分和递归。原创 2023-09-04 15:45:00 · 219 阅读 · 0 评论 -
从零学算法(剑指 Offer 61)
从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。输入: [1,2,3,4,5]输入: [0,0,1,2,5]原创 2023-09-04 11:33:23 · 434 阅读 · 0 评论 -
从零学算法(剑指 Offer 45)
输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。输入: [3,30,34,5,9]输出: “3033459”输入: [10,2]原创 2023-09-03 22:11:57 · 348 阅读 · 0 评论