https://oj.leetcode.com/problems/3sum-closest/和3sum类似。不同的是这次需要逼近一个值,实际上跟相等类似,用l和r指针不断移动,然后反复取最小即可。class Solution {public: int n,m; int threeSumC...
分类:
编程语言 时间:
2014-10-19 11:19:59
阅读次数:
156
Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e.,0 1 2 4 5 6 7might become4 5 6 7 0 1 2).Find the minimum element.You m...
分类:
编程语言 时间:
2014-10-18 13:49:02
阅读次数:
191
本文原作者:大便一箩筐文章原地址:http://www.cnblogs.com/dbylk/p/4032570.html原题: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e.,0 1.....
分类:
编程语言 时间:
2014-10-18 09:47:21
阅读次数:
248
https://oj.leetcode.com/problems/3sum/先排序。然后枚举i属于[0,n-3]的这些数作为三元组的第一个数,令x=0-a[i]。这样就变成从[i+1,n)找出两个数加起来和等于x。由于这些数是有序数,可以使用l,r指针对在两侧向中间逼近。这利用了一个事实:如果al+...
分类:
编程语言 时间:
2014-10-16 20:09:43
阅读次数:
250
例子:有序数组查找//1递归做法function findArr(arr,value,left,right){var mid=Math.floor((left+right)/2);//防止无穷递归if(left>right){return}if(arr[mid]>value){//左边return ...
分类:
Web程序 时间:
2014-10-14 15:47:21
阅读次数:
140
来自stackoverflow的题目Why is processing a sorted array faster than an unsorted array?...
分类:
编程语言 时间:
2014-10-12 18:15:58
阅读次数:
296
https://oj.leetcode.com/problems/insertion-sort-list/插入排序为假设[0,i)已经为有序数组,下一步从[i,n)找最小的元素交换到i处。用指针模拟这个过程即可。就是操作有些麻烦。每次[head,p)为已经有序的数组,下次从[p,tail]找出最小的...
分类:
编程语言 时间:
2014-10-11 01:46:54
阅读次数:
327
这道题目的意思是,在一个数组中寻找两个数,使这两个数的和等于给定的数(找到任意一组就可以了)。 题目读完之后,感觉这道题目还是很简单的,就是遍历数组呗,走两遍,即可以在O(n2)时间复杂度内解决这个问题。不过,仔细想想之后,复杂度还是可以降低的。 首先,我们可以对数组进行排序,这样,得到的数组就是一个有序数组(假设数组是递增的),那么,我们可以利用两个指针,一个指针指向数组的第...
分类:
其他好文 时间:
2014-10-09 03:39:07
阅读次数:
150
归并排序 与插入排序不同的是二个有序数组彼此的插入,而插入排序是一个数向有序里插入。
思想是吧一个数组分成若干个最小的有序数组,然后把这些小的有序数组,进行合并。
下面是代码:
public class MergeSort {
public int[] sort(int[] nums, int low, int high){
int mid = (low + high) /...
分类:
其他好文 时间:
2014-10-08 10:47:25
阅读次数:
199