旋转数组的查找问题。从头开始扫一遍,O(N)的复杂度,一般也能过,甚至先排序以下,再二分都能过。不过这道题的目的当然不在于此。
想一下旋转之后对我们的查找产生了什么影响。如果没旋转过,我们直接比较target与A[middle]的大小,然后总能非常确定的丢掉源数组的一半,即把搜索空间减半,但是旋转之后,只根据A[middle]是确定不了下一轮的走向的,因为即使A[middle]比target大,...
分类:
其他好文 时间:
2014-05-12 15:25:32
阅读次数:
231
接着上一篇,同样是旋转数组中查找问题。如果这个数组有重复元素怎么办呢?会有什么影响?
我举一个极端的例子,假设数组中的元素是这样的,1,1,2,1,1,1,1,我们要在这个数组中查找2,一开始的A[middle]=1,发现比target小,那我们就看看A[0]和A[N],发现都跟A[middle]相等,那么这个2到底在哪一半中?只有上帝知道,如果他老人家真的存在的话。这种时候我们怎么办呢?没有其...
分类:
其他好文 时间:
2014-05-12 14:45:35
阅读次数:
278
利用存储过程进行组合查询
/*********************************************************************/
/* proc name : P_am_postjob_search */
/* */
/* Description: 申请单查询 */
/* */
/* parameters: @searchtime 申请...
分类:
其他好文 时间:
2014-05-12 14:15:38
阅读次数:
315
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).You are
given a target value t...
分类:
其他好文 时间:
2014-05-12 07:31:40
阅读次数:
332
Given a singly linked list where elements are
sorted in ascending order, convert it to a height balanced BST.1.
将LinkedList的值保存到一个数组中,转化成Convert Sorte...
分类:
其他好文 时间:
2014-05-12 05:53:09
阅读次数:
367
这道题之前一直没敢做,没想到前天用递归一遍过了。。
当时为什么想着用递归,而不是dp呢,因为我想到达某个位置的情况有很多,即使从当前位置开始的搜索是已知的,但之前的状态是怎样的也无从得知啊,实话实说,我是不会用dp解这个。。
递归的思路就好说多了,从当前点开始,有上下左右四个位置可以探测,如果探测成功的话,要把当前的位置用其他符号标记出来,以免重复访问。实际上就是DFS嘛,只不过入口多一些。
...
分类:
其他好文 时间:
2014-05-11 14:20:56
阅读次数:
321
Given a binary tree, determine if it is a valid
binary search tree (BST).Assume a BST is defined as follows:The left subtree of
a node contains only n...
分类:
其他好文 时间:
2014-05-11 06:46:32
阅读次数:
366
Search Insert Position
Total Accepted: 14091 Total
Submissions: 41005My Submissions
Given a sorted array and a target value, return the index if the target is found. If not, return the in...
分类:
其他好文 时间:
2014-05-11 05:53:03
阅读次数:
241
linux下.net环境;rpm -ivh
http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
&& yum makecache && yum search mono;
分类:
系统相关 时间:
2014-05-11 00:43:36
阅读次数:
332
很简单的题目,一次过,注意为数组空的时候,应返回0而非null 1 public class
Solution { 2 public int searchInsert(int[] A, int target) { 3 int i; 4 if
(A.length...
分类:
其他好文 时间:
2014-05-10 06:51:21
阅读次数:
288