乱序数组找出前面的都比他小后面的都比他大的数
2013-08-13 16:41
309 查看
int f(int*a,int*b,int n) { if(!a||!b||n<3) return -1; int*temp=new int (); int max=a[0],count=0; for (int i=1;i<n-1;i++) if(a[i]>max) { temp[i]++; max=a[i]; } int min=a[n-1]; for (int i=n-2;i>0;i--) if(a[i]<min) { temp[i]++; min=a[i]; } for (int i=1;i<n-1;i++) if(temp[i]==2) b[count++]=a[i]; delete[]temp; return count; }
相关文章推荐
- 给定一个整数数组,找出两个下标,要求后面下标所指的数减去前面下标所指的数之差最大
- 算法面试题,在数组中找出这样的数,它比它前面的数都大,比它后面的数都小
- 在数组中找出一个数,这个数>=它前面的所有数,<它后面的所有数
- 将数组的后面m个数移动为前面m个数
- 把数组中负数放在前面,0放中间,正数放后面,并保持相对顺序
- java实现快速排序的分割思想:在快速排序算法中,我们随机在数组中选择一个数字,然后把比选中数字小的数字都排在它前面,比选中数字大的数字都排在它的后面。
- 将数组中奇数都放前面,偶数都放在后面
- 程序员面试题目总结--数组(五)【数组的后面m个数移动为前面m个数、列的前n项数据、判断整数x是否可以表示成n个连续正整数的和、数组中出现奇数次的元素、二维数组中的查找】
- 一个数组中列出一个数比前面数大,比后面数小的集合
- 把数组中的0移到数组前面,其它数字移到后面,并且保持数字间的相对顺序
- 数组:f[a,A,h,f,H,F]实现一个排序的效果:[A,a,F,f,H,h],先按字母顺序排列,再把每个字母的大写字母写在前面,小写放在后面。
- 一个字符串,把奇数放到数组前面,奇数放到数组后面
- int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序
- 调整数组 使得数组中负数排在前面正数排在后面,并且正数和负数的相对位置不变 (递归思路)
- 将数组的奇数放前面偶数放后面
- 算法题:将一个数组中所有奇数放前面和偶数放后面(不开辟新的内存空间)
- 将一个数组的非零元素移动到数组的前面,零元素置于数组的后面
- 数组重排序(将所有奇数都放在前面,所有偶数放在后面)的深入分析
- 将数组里的负数排在数组的前面,正数排在数组的后面。但不改变原先负数和正数的排列顺序。
- 剑指offer第4题 把空格替换成20% 剑指offer第14题 让一个数组中奇数位与前面,偶数位与后面