算法题其实不要慌就行了,就是太久没做了。 题:有3个数组从小到大,写一段代码合并成一个数组,并保证顺序 大致思路: 代码: ...
分类:
编程语言 时间:
2019-03-22 00:41:05
阅读次数:
151
[toc] 题目链接 "Convert Sorted List to Binary Search Tree LeetCode" 注意点 不要访问空结点 题目要求的是平衡二叉搜索树(也就是AVL树) 解法 解法一:递归,二叉搜索树的中序遍历结果刚好是一个有序数组,有序数组中间的数字刚好是根节点,因此可 ...
分类:
其他好文 时间:
2019-03-22 00:16:32
阅读次数:
145
sequence 序列 序列是一组有顺序数据的集合。不知道怎么说明更贴切,因为python的创建变量是不用定义类型,所以在序列中(因为有序我先把它看作是一个有序数组)的元素也不会被类型限制。 序列可以包含一个或多个元素,也可以没有任何元素(空序列)。 当然一个序列也是一个元素,所以在序列中也可以包含 ...
分类:
编程语言 时间:
2019-03-21 17:27:20
阅读次数:
204
【题目】 给定两个有序数组arr1和arr2,已知两个数组的长度都为N,求两个数组中所有数的上中位数。要求时间复杂度O(logN),空间复杂度O(1) 【举例】 例如 arr1 = [1, 2,3,4],arr2 = [3,4,5,6]。 总共8个数,则中位数就是第 4 小的数,为 3. 例如 ar ...
分类:
编程语言 时间:
2019-03-20 01:23:01
阅读次数:
188
前置条件:必须是有序数组。 每次排除1/2,直到最后剩下一个。 一般而言,对于包含n个元素的列表,用二分查找最多需要 log2n 步。 python代码: java代码: ...
分类:
其他好文 时间:
2019-03-20 01:15:36
阅读次数:
139
题目:合并两个有序数组 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明: 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保 ...
分类:
编程语言 时间:
2019-03-20 01:14:55
阅读次数:
147
题目描述:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 则中位数是 ...
分类:
编程语言 时间:
2019-03-16 13:03:04
阅读次数:
234
这道题要求算法时间复杂度为log(m+n)一般来讲这是二分法的复杂度,但两个数组之间交叉起来不能简单靠二分法来解决,必须进行合并,但一合并复杂度就是m+n,所以这题有点奇怪 我采用python来做,非常简单,也通过了,但是还是不清楚复杂度是如何判断的 ...
分类:
编程语言 时间:
2019-03-15 19:33:17
阅读次数:
238
题目描述: 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。 你可以假设 nums1 和 nums2 不会同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 则中位 ...
分类:
编程语言 时间:
2019-03-14 12:01:01
阅读次数:
160
题目标签:Array 题目给了我们一组 从小到大的 integers,让我们平方数字 并且 也排序成 从小到达。 因为有负数在里面,平方后,负数在array的位置会变动。 可以设left 和 right pointers,从两边遍历,比较一下两个平方后的数字,把大的那个 放入新建的array的末尾。 ...
分类:
编程语言 时间:
2019-03-04 09:47:23
阅读次数:
194