摘要: 给定一个长度为n的整数数组nums,要求必须使用【归并排序】的方法将该数组升序排序。 1.1 归并排序 分:将数组分成多个小数组,直到只有一个元素。 治:自底向上合并小数组(merge) 1.2 代码 将 arr [n1+n2] 数组分为两个小数组:L [n1], R [n2] merge算法: i 阅读全文
posted @ 2025-10-27 23:25 lessandmore 阅读(11) 评论(0) 推荐(0)
摘要: 难题被逐层拆解,每一次的拆解都使它变得更为简单。分而治之揭示了一个重要的事实:从简单做起,一切都不再复杂。 1.1 分治算法 分治 是一种非常常见的算法策略。 分:将整个问题划分为多个小问题。 治:从小问题开始,自底至顶将子问题合并成原来的问题。 1.2 分治的效率 分治往往可以提高效率。 降低时间 阅读全文
posted @ 2025-10-27 22:44 lessandmore 阅读(11) 评论(0) 推荐(0)
摘要: 简介 给出n个元素的数组,希望找出其中数量超过 n/2 的元素。注意是>,不是>=。 题目保证一定有多数元素,但是这里给出了没找到多数元素的情况。 时间复杂度O(n) 法一:遍历计数 对每个出现的元素都遍历一遍,求出其次数。 或者通过链表,在节点里面加上元素出现次数这个信息,寻找节点里面count最 阅读全文
posted @ 2025-10-27 13:32 lessandmore 阅读(24) 评论(0) 推荐(0)