旋转数组的查找问题。从头开始扫一遍,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
1、list.append(obj) 向列表中添加一个对象obj
list = ['apple', 'pear', 'orange']
>>> list.append('apple')
>>> list
['apple', 'pear', 'orange', 'apple']
2、list.count(obj) 返回一个...
分类:
编程语言 时间:
2014-05-12 14:17:41
阅读次数:
418
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
水题。
我之前说过包含至多几个至少几个的问题都比较难,这个题可是让我大脸了。至多可以重复一次,那就重复次数多于两次再计算重复,否则的话像普通的数据一样直接按照重复次数前移就可以了嘛。不过说归说,这种inspace的思想还是有些用处的,数组这种实现方式致命的缺点就是删除或者添加中间的元素代价太大,因为不好把握数据的最终位置。这个题是一种情况,合并两个排序好的数组也是一个例子。
class Sol...
分类:
其他好文 时间:
2014-05-11 14:54:49
阅读次数:
248
对JAVA的集合的理解是想对于数组
数组是大小固定的,并且同一个数组只能存放类型一样的数据(基本类型/引用类型)
JAVA集合可以存储和操作数目不固定的一组数据。
所有的JAVA集合都位于 java.util包中!
JAVA集合只能存放引用类型的的数据,不能存放基本数据类型.
JAVA集合主要分为三种类型:
Set(集)
List(列表)
Map(映...
分类:
编程语言 时间:
2014-05-11 13:24:28
阅读次数:
406
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
起因ledisdb是一个参考ssdb,采用go实现,底层基于leveldb,类似redis的高性能nosql数据库,提供了kv,list,hash以及zset数据结构的支持。我们现在的应用极大的依赖redis,但随着我们用户量越来越大,redis的内存越来越不够用,并且replication可能还会导致超时问题。虽然后续我们可以通过添加多台机器来解决,但是在现有机器配置下面,我们仍希望单台机器承载...
分类:
数据库 时间:
2014-05-11 05:39:12
阅读次数:
522
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie
Single Number II
Total Accepted: 14224 Total
Submissions: 43648
Given an array of integers, every element appears three ti...
分类:
其他好文 时间:
2014-05-11 03:54:46
阅读次数:
317
题意:在一组数组中除一个元素外其它元素都出现两次,找出这个元素
思路:位运算。异或。因为异或操作可以交换元素的顺序,所以元素异或的顺序没影响,
最后出现再次的元素都会被异或掉,相当于0和只出现一次的那个元素异或,结果还是那个元素
推广:这个方法也适合于出现其它元素都出现偶数次,而要找的元素出现奇数次的情况
相关题目:Single Number II
class Solution...
分类:
其他好文 时间:
2014-05-11 02:37:42
阅读次数:
397