码迷,mamicode.com
首页 >  
搜索关键字:有序数组 最接近结果    ( 1005个结果
leetcode题 寻找两个有序数组的中位数
题目描述: 我的成绩: 成绩不是很好,代码本身写的也很乱,本文只是提供一种解题思路。 题目分析: 要求两有序数组的中位数并不难,简单粗暴的方法就是得到两数组合并后的新数组,取其中位数即可,但是难度在于这个时间复杂度有限制,为 O(log(m + n))。 一看这个log,那么很容易想到二分查找算法什 ...
分类:编程语言   时间:2020-02-18 20:26:51    阅读次数:82
排序算法: 归并排序
归并排序 1. 算法推导 对一个等待排序的数组A,以及排序函数sort,以及合并两个有序数组的函数merge。则 sort(A) = merge(sort(A1), sort(A2)),上面这个推导公式看起来是满足递归算法的重复条件。举个例子: 2. 代码实现 2.1 递归实现 2.2 非递归实现 ...
分类:编程语言   时间:2020-02-18 14:57:50    阅读次数:74
排序之希尔排序
希尔排序的概念和实现
分类:编程语言   时间:2020-02-18 14:43:54    阅读次数:60
二分查找(下):如何快速定位IP对应的省份地址?
问题 假设我们有 12 万条这样的 IP 区间与归属地的对应关系,如何快速定位出一个 IP 地址的归属地呢? 二分查找的变形 变体一:查找第一个值等于给定值的元素 1 public int bsearch(int[] a, int n, int value) { 2 int low = 0; 3 i ...
分类:其他好文   时间:2020-02-18 13:14:32    阅读次数:82
基础排序
概述 排序的思想有很多种,其中最基础的三种排序即,选择排序,插入排序,冒泡排序,下面通过数组中的元素排序代码来实现三种排序思想。 选择排序 使用到双指针思想,一个游历指针(用于遍历数组中所有元素, 出指定元素),一个标记指针(用于标记有序数组的末尾),使用到这种思想还可用于 ,`数组去除指定元素`等 ...
分类:编程语言   时间:2020-02-13 15:05:38    阅读次数:61
LeetCode | 0088. Merge Sorted Array合并两个有序数组【Python】
LeetCode 0088. Merge Sorted Array合并两个有序数组【Easy】【Python】【双指针】 题目 "英文题目链接" Given two sorted integer arrays nums1 and nums2 , merge nums2 into nums1 as o ...
分类:编程语言   时间:2020-02-12 23:50:19    阅读次数:89
leetcode 4 Median of Two Sorted Arrays
这道题要求两个有序数组,找出中间位置的平均值; 解题思路: 1、取A数组的中间位置mid的值key,去B数组中查找最靠近key且小于等于key的位置index; 2、将原数组切成三段,index和mid之前数组的为新的left数组;right1跟right2为新的right数组;mid到right1 ...
分类:其他好文   时间:2020-02-12 12:51:16    阅读次数:52
[LeetCode] 109. Convert Sorted List to Binary Search Tree
将有序链表转化为二叉搜索树。题目即是题意,跟[LeetCode] 108. Convert Sorted Array to Binary Search Tree可以一起做。108是从有序数组转化成BST,109是从有序链表转化成BST。区别在于108可以通过找中点的办法快速找到根节点,但是109只能 ...
分类:其他好文   时间:2020-02-11 10:10:48    阅读次数:71
[LeetCode] 108. Convert Sorted Array to Binary Search Tree
将有序数组转化为二叉搜索树。题目即是题意。只要输出一个有效的BST即可。此题可以跟109题一起做,要求很接近但是做法不太一样。例子, Example: Given the sorted linked list: [-10,-3,0,5,9], One possible answer is: [0,- ...
分类:其他好文   时间:2020-02-11 09:53:31    阅读次数:59
Leet Code 4.寻找两个有序数组的中位数
给定两个大小为m和n的有序数组nums1和nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为O(log(m+n))。 你可以假设nums1和nums2不会同时为空。 题解 解法一 暴力法,即从头到尾找到合并数组的中位数。时间复杂度O(m+n) 解法二 看到log,要自然想到二分法 ...
分类:编程语言   时间:2020-02-10 18:01:10    阅读次数:89
1005条   上一页 1 ... 13 14 15 16 17 ... 101 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!