Search in Rotated Sorted Array
难度:HardSuppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).You are given a target value to search...
分类:
编程语言 时间:
2015-04-27 16:57:54
阅读次数:
251
问题:Remove Duplicates from Sorted Array II 难度:mediumFollow up for “Remove Duplicates”:
What if duplicates are allowed at most twice?For example,
Given sorted array A = [1,1,1,2,2,3],Your function s...
分类:
编程语言 时间:
2015-04-25 12:19:41
阅读次数:
186
1.数组简介NSArray:用来存储有序数组,它是不可变的(不能插入删除数据元素),也不能存储C语言中的基本数据类型(int、float、double、enum、struct),也不能存nil,如果需要使用基本数据类型,需要先转成Objective-c中的对象,用@包装下。NSMutableArra...
分类:
移动开发 时间:
2015-04-23 21:17:01
阅读次数:
301
二叉查找树在数据结构中也经常会被用到。所谓二叉查找树就是从根节点开始,左边的节点比右边的节点小。显然BST的前序遍历就是一个从小到大的有序数组。
JAVA构建二叉查找树:
// 构建一颗二叉查找树
/*原理:
* 下一个数据和根节点比较,比根大放在根的右边,然后再跟节点的右孩子节点比较
* 比根节点小,则放在根节点的左侧,
* 如果等于根,那么不操作
...
分类:
其他好文 时间:
2015-04-22 18:17:42
阅读次数:
128
本题也属于easy模式,题意是说去掉一个有序数组中的重复部分,而且不需要额外的开销,只能在初始数组中做文章。这种题目就有一种固定的套路,就是使用两个指标,一个向前走,一个断后,我定义的i就是取到数组中的每一个数,pos是去掉重复之后的位置。最后多说一句,一定要注意判断原数组是否为空啊,粗心马虎真的不可取,谨记!#include
#include
int removeDuplicates(int ...
分类:
其他好文 时间:
2015-04-21 18:13:33
阅读次数:
120
一.有序数组的折半查找【步骤】① low=0,high=length-1; //初始值② 当low>high时,返回查找失败信息③ lowa[mid],low=mid+1; //查找在右半区 c.若key=a[mid],返回mid //查找成功【算法实现】public int bi...
分类:
其他好文 时间:
2015-04-20 22:07:19
阅读次数:
120
1. 实现bool find_common(int a[], int len1, int b[], int len2){ int i=0; int j=0; while(ib[j]) j++; } return false;}
分类:
编程语言 时间:
2015-04-18 17:33:16
阅读次数:
230
题意:在旋转过的有序数组中找到最小数,数组中可能有重复元素
思路:二分,判断是否有相等的元素,主要是二分的时候的一些细节,比如说是有序的还是rotated
代码:
public int findMin(List nums) {//solution1 O(log(N))
int min = Integer.MAX_VALUE;
int l = 0, r ...
分类:
其他好文 时间:
2015-04-18 10:10:18
阅读次数:
113
题意:从有序数组中删除重复数据,但是与题目一有一点区别:可以允许重复一次
思路:首先判断是否重复,有的话指针后移,然后按照题1中的思路进行,复杂度O(N)
代码:
public int removeDuplicates(int[] A) {
if(A == null || A.length == 0)return 0;
int len = A.leng...
分类:
其他好文 时间:
2015-04-18 10:08:53
阅读次数:
130
题意:在旋转的有序数组中搜索某个元素,无重复数据
思路:二分搜索,注意有旋转的区间的上下界的判断
代码:
public int search(int[] A, int target) {
return bsearch(A, target, 0, A.length - 1);
}
/**
* 二分搜索,无重复元素,判断是否为rotated
...
分类:
其他好文 时间:
2015-04-18 10:07:53
阅读次数:
122