数组的注意点:1、相同类型:数组中的数据元素类型都相同2、数据元素:数组中的数据项可以是任何类型,数据元素的类型也代表该数组的类型。访问数组元素通过数组名称和位置索引进行访问。3、有序:数组的元素是依据位置索引的,数组中的位置索引从0开始。4、集合:一个数组是一组数据元素的集合。5、数组类型属于引用...
分类:
其他好文 时间:
2014-06-27 21:51:14
阅读次数:
192
用了半小时才写出来啊, 其实这种思路应用范围很广,利用有序性这个特点,比如本体只要是有序就行,例如两个集合是有序的,求交集,有序数组的查找,有序数组的归并,有序有了优化的可能。 输入一个正数 n,输出所有和为 n 连续正数序列 例如输入 15,由于 1+2+3+4+5=4+5+6=7+8=15,所以...
分类:
编程语言 时间:
2014-06-27 14:11:04
阅读次数:
395
题目:输入一个递增排序的数组和一个数字target,在数组中查找两个数使得它们的和正好是target题解分析:一提到有序数组,应该立马联想到 二分查找因为数组已经有序了,我们可以设置两个游标first和last,下标first指向 0, last指向 size() - 1, 然后相加如果相加和 大于...
分类:
其他好文 时间:
2014-06-27 11:53:40
阅读次数:
210
索引是啥? 索引是数据结构,在数据结构有一章叫查找,在国外的一本书上名字就找索引。 准确的说就是: 加快查找的数据结构。 查找的那一章: 1.有序数组的二分查找 2.二叉查找 ,在此处,为了效率防止退化,引入了平衡的调整。 3.在上述的平衡的定义,为左右高度至多差1,要求太严,调整频露高,于是红黑树...
分类:
其他好文 时间:
2014-06-24 10:24:46
阅读次数:
156
问题定义这个问题来自网上看到的百度算法题,感觉很不错,问题定义如下:假定有20个有序数组,每个数组有500个数字,降序排列,数字类型32位uint数值,现在需要取出这10000个数字中最大的500个,怎么做?解决方法这里其实有很多解决方法,笨拙的或者巧妙的。这里介绍一个非常不错的方法,使用最大堆堆排...
分类:
其他好文 时间:
2014-06-21 11:28:25
阅读次数:
188
在一个经过旋转后的有序数组中查找一个目标元素。
Suppose 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...
分类:
其他好文 时间:
2014-06-20 13:06:31
阅读次数:
261
一. 算法描述 自底向上的归并排序:归并排序主要是完成将若干个有序子序列合并成一个完整的有序子序列;自底向上的排序是归并排序的一种实现方式,将一个无序的N长数组切个成N个有序子序列,然后再两两合并,然后再将合并后的N/2(或者N/2 + 1)个子序列继续进行两两合并,以此类推得到一个完整的有序数组....
分类:
其他好文 时间:
2014-06-19 08:45:22
阅读次数:
259
题目
Given a sorted array of integers, find the starting and ending position of a given target value.
解题思路:
查找一个数出现的范围,给一个排好序的数组和一个数,找出这个数在数组中出现的范围。
这个题直接使用一次遍历就可以得到结果,这样的时间复杂度为O(n)。但是对于有序数组我们一般可以使用二分查找可以得到更好的O(logn)的时间复杂度。我们可以使用二分查找找到这个数第一次出现的位置和这个数最后一次出现的位...
分类:
其他好文 时间:
2014-06-15 16:19:16
阅读次数:
237
题目:
Given two sorted integer arrays A and B, merge B into A as one sorted array.
原题链接(点我)
解题思路:
合并两个数组为一个有序数组,这题也很简单,唯一考查的地方就是怎么处理数组,是从前往后还是从后往前。一般情况,从后往前的效率比从前往后高,也要省不少事。代码如下,从后开始合并。
代码实现:...
分类:
其他好文 时间:
2014-06-11 00:37:42
阅读次数:
314
数组特点:
1、大小固定
2、同一数据类型
3、下标访问
4、数据项可重复
Java数据类型:基本类型(int和double)和对象类型。在许多编程语言中,数组也是基本类型。但在Java中把它们当作对象来对待,因此在创建数组时必须使用new操作符。
有序数组与无序数组比较:最主要的好处是查找速度比无序数组快多了。不好的方面是在插入操作...
分类:
编程语言 时间:
2014-06-10 14:53:07
阅读次数:
359