2017年6月20日
摘要: 案例 思路一 对数列排序,再扫描一边,找出元素个数超过一半的元素。此时需要排序,同时需要记录每个元素出现个数,费时、费空间。 思路二 对于排好序的数列,假设总数为N,那么N/2位置的那个数必定为所求之数,这就不需要记录每个元素的个数。 思路三 对于数列,不用排序。对于其中的任意两个不同的元素,去除之 阅读全文
posted @ 2017-06-20 15:49 王小东大将军 阅读(511) 评论(0) 推荐(0) 编辑
摘要: Q在一个数组中除两个数字只出现1次外,其它数字都出现了2次, 要求尽快找出这两个数字。 设题目中这两个只出现1次的数字分别为A和B,如果能将A,B分开到二个数组中,那显然符合“异或”解法的关键点了。因此这个题目的关键点就是将A,B分开到二个数组中。由于A,B肯定是不相等的,因此在二进制上必定有一位是 阅读全文
posted @ 2017-06-20 14:20 王小东大将军 阅读(142) 评论(0) 推荐(0) 编辑
摘要: (一)问题:已知一个整数数组a[n],找出n个元素在数轴上两个相邻元素之间的最大间距。 (二)解析: (1)方案一:先对n个数据排序,然后扫描一遍可以找到有序数组中相邻元素的最大间距。( 时间复杂度为O(n*lgn) ) 思路二:自己不太懂这种方法。~引自《七月算法-数组高频面试题精讲》 参考:ht 阅读全文
posted @ 2017-06-20 11:01 王小东大将军 阅读(300) 评论(0) 推荐(0) 编辑
摘要: Given an unsorted integer array, find the first missing positive integer.For example,Given [1,2,0] return 3,and [3,4,-1,1] return 2. Your algorithm sh 阅读全文
posted @ 2017-06-20 10:13 王小东大将军 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 定义局部最小的概念。arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0]<arr[1],那么arr[0]是局部最小;如果arr[N-1]<arr[N-2],那么arr[N-1]是局部最小;如果0<i<N-1,既有arr[i]<arr[i-1]又有arr[i]<ar 阅读全文
posted @ 2017-06-20 09:04 王小东大将军 阅读(529) 评论(0) 推荐(0) 编辑