
数组
文章平均质量分 70
冇得闲
这个作者很懒,什么都没留下…
展开
-
数组与二分查找
#include #include using namespace std;int binary_serach(int [], int , int );int lower_bound(int [], int , int );int upper_bound(int [], int , int );int find_miss_NO(int [], int);int main()原创 2012-03-08 22:34:48 · 2185 阅读 · 0 评论 -
找出距离最近的三个点
本文章来源于 http://www.jobcoding.com/问题描述:给定三个数组A,B,C,从这三个数组中分别取一个元素a,b,c,使得|a-b|+|b-c|+|c-a| 最小。【方案一】该题最直接的方法是枚举,即枚举三个数组组成的所有三元组,然后求出|a-b|+|b-c|+|c-a| 最小值。【方案二】一般而言,见到绝对值号,首先想到的应是去原创 2012-03-11 14:42:40 · 3852 阅读 · 0 评论 -
找出和为某个常数的数对
1. 问题描述已知大小分别为m,n的两个无序数组A,B和一个数常数c, 求满足A[i] + B[j] = c的所有A[i]和B[j]。【方案一】 这是最简单的方法,枚举A和B中所有元素对,看其和是否为c,如果是,则输出。【方案二】 首先,对两个数组中较大数组(不妨设为A)排序;然后,对于B中每个元素B[i],在A中二分查找c-B[i],如果找到,直接输出。原创 2012-03-11 15:09:01 · 652 阅读 · 0 评论 -
旋转数组的二分查找
来源: http://www.jobcoding.com/array/one-sorted-array/rotate_array/1. 问题描述已知有序数组a[N], 从中间某个位置k(k未知,k=-1表示整个数组有序)分开,然后将前后两部分互换,得到新的数组,在该新数组的查找元素x。如:a[]={1,2,5,7,9,10,15},从k=4分开,得到新数组a={9,10,1原创 2012-03-12 22:14:59 · 6430 阅读 · 1 评论 -
指针与数组的对比
C++/C 程序中,指针和数组在不少地方可以相互替换着用,让人产生一种错觉,以为两者是等价的。数组要么在静态存储区被创建(如全局数组),要么在栈上被创建。数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。指针可以随时指向任意类型的内存块,它的特征是“可变”,所以我们常用指针来操作动态内存。指针远比数组灵活,但也更危险。下面以字符串为例比较指针与原创 2012-08-30 15:34:47 · 773 阅读 · 0 评论