摘要:
▶ 问题:求两个已经排好序的数组的中位数。 ▶ 简单的归并版。现将两个数组一趟归并到一个数组中(O(m+n)),再利用新数组长度的奇偶性计算新数组的中位数(O(1)),总体时间复杂度 O(m+n),空间复杂度 O(m+n)。 ● 代码,79 ms ▶ 高端的分组分段法,时间复杂度 O(log(min 阅读全文
摘要:
▶ 问题:求两个已经排好序的数组的中位数。 ▶ 简单的归并版。现将两个数组一趟归并到一个数组中(O(m+n)),再利用新数组长度的奇偶性计算新数组的中位数(O(1)),总体时间复杂度 O(m+n),空间复杂度 O(m+n)。 ● 代码,79 ms ▶ 高端的分组分段法,时间复杂度 O(log(min 阅读全文
摘要:
▶ 问题:判断一个字符串是否能通过删除至多一个字符来变成回文串。 ▶ 算法: ● 使用两个指针,开始时分别指向字符串的首元素和末元素,进行回文检查。若检查到两指针重叠或交换,则说明输入字符串已经是回文,返回正确。 ● 若检查到中间某一位置时发现两指针指向的元素不相等,则假设这两个元素之一是多余的元素 阅读全文
摘要:
▶ 问题:给定数组 { ai,i = D1n },求 ( j - i ) * | aj - ai | 的最大值。 ▶ 算法:考虑 ai 和 ai+1,若 ai ≥ ai+1 则显然选 ai 比选 ai+1 更好;若 ai < ai+1,则我们需要比较 ( j - i ) * | aj - ai | 阅读全文
|