这个题目还是属于查找类的题目,和前面的题目比较类似,题目的要求是给定一个target,在有序数组里面查找该元素的插入顺序,若存在了则返回该元素的下标。这道题比较直观,所以比较容易动手,需要注意到的应该就是边界条件的问题吧,比如说:
(1). 目标元素比排序数组中的最小元素还小
(2). 目标元素比排序数组中的最大元素还大
请看代码吧,代码写的还是比较清晰的
class Solu...
分类:
其他好文 时间:
2016-05-07 07:25:29
阅读次数:
120
这个题是将一个排序数组部分扭转一下,导致数组成为部分有序的两部分,现在给定一个target,最后找出该target的下标,若不存在则返回-1,题目意思还是很好理解的,但是求解的时候确实比较麻烦的。为什么麻烦呢?因为遍历一遍数组的方法并不适用,而且这样的做法也没有意义!
所以我们得另外开辟路径,我们平时在查找有序数组的时候用的最多的方法是二分查找法,那么这个题能否使用二分查找呢?答案是可...
分类:
其他好文 时间:
2016-05-06 16:05:49
阅读次数:
142
看的网上有个叫做旋转数组的东西,所以查了查.所谓旋转数组就是把一个有序数组转动n位得到的一个东西.例如下图旋转后的a数组 一共查到了两个问题 1.把一个有序数组按照一个长度,旋转 m.获得一个旋转数组 http://blog.csdn.net/lalor/article/details/796132 ...
分类:
编程语言 时间:
2016-05-03 22:08:48
阅读次数:
235
第一种:思路:二维数组是从左到右递增,从上到下递增,row为行数,col为列数,a[row-1][col-1]为最大数,如果剔除这一行,这一列,则最大数为a[row-2][col-2],如果要查找的num大于a[row-2][col-2]并且大于a[row-1][col-1],则在该row-1行和col-1列查找,照这样遍历。这样太麻..
分类:
编程语言 时间:
2016-05-02 17:08:29
阅读次数:
264
http://www.cnblogs.com/yangecnu/p/Introduce-Binary-Search-Tree.html 前文介绍了符号表的两种实现,无序链表和有序数组,无序链表在插入的时候具有较高的灵活性,而有序数组在查找时具有较高的效率,本文介绍的二叉查找树(Binary Sear ...
分类:
编程语言 时间:
2016-04-26 12:31:24
阅读次数:
357
二分查找经常写挂,最常写挂的就是陷入一个死循环,如何避免呢? 网上有很多版本的二分代码。循环条件有:l < r的,有l+1 < r的,有l <= r的。做个总结吧。 一、首先是二分查找一个值,找到返回其下标,否则返回-1。 二、查找边界值 在有序数组中找到“正好大于(小于)目标数”的那个数。 如果找 ...
分类:
其他好文 时间:
2016-04-21 20:16:42
阅读次数:
132
归并算法的中心是归并两个已经有序的数组。归并两个有序数组A和B,就生成了第三个数组C,数组C包含数组A和B的所有数据项,并且使它们有序的排列在数组C中。首先我们来看看归并的过程,然后看它是如何在排序中使用的。
假设有两个有序数组,不要求有相同的大小。设数组A有4个数据项,数组B有6个数据项,它们要被归并到数组C中,开始时数组C有10个存储空间,归并过程如下图所示:...
分类:
编程语言 时间:
2016-04-20 02:03:54
阅读次数:
170
算法,在学校的时候就掌握的不牢固,如今还是要还上了。 NSMutableArray *dateMutablearray = [@[] mutableCopy]; NSArray *array1 = @[@"1",@"2",@"3", @"3",@"4",@"5",@"7",@"9",@"9", @" ...
分类:
移动开发 时间:
2016-04-19 00:24:57
阅读次数:
235
在有序数组中,可以快速找到特定的值,但是想在有序数组中插入一个新的数据项,就必须首先找出新数据项插入的位置,然后将比新数据项大的数据项向后移动一位,来给新的数据项腾出空间,删除同理,这样移动很费时。显而易见,如果要做很多的插入和删除操作和删除操作,就不该选用有序数组。
另一方面,链表中可以快速添加和删除某个数据项,但是在链表中查找数据项可不容易,必须从头开始访问链表的每一个数据项,直到找...
分类:
编程语言 时间:
2016-04-13 02:15:28
阅读次数:
277
Remove Duplicates from Sorted Array II是Remove Duplicates from Sorted Array的升级版本,即对于一个有序数组,允许最多有两个重复元素。 一个简单直接的思路是维护一个计数器count,用来记录同一个数值元素的出现次数。出现次数为3次 ...
分类:
其他好文 时间:
2016-04-12 22:29:32
阅读次数:
283