一道面试题:求一个满足要求的数组
2013-06-06 08:43
387 查看
FROM:qitian0008(http://blog.csdn.net/qitian0008/article/details/7963864)
正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项,例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12
(1)、设计一个函数void generate(int a,int b,int N ,int * Q)计算Q的前几项
(2)、设计测试数据来验证函数程序在各种输入下的正确性。
正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项,例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12
(1)、设计一个函数void generate(int a,int b,int N ,int * Q)计算Q的前几项
(2)、设计测试数据来验证函数程序在各种输入下的正确性。
package Designpattern.Program; /** * @FullName:findArray.java * @CreationTime:2012-9-10-下午3:48:34 * @Author:qi QQ:470413137 */ public class findArray { public static void main(String[] args) { int a=2,b=5,N=6; int arr[] = new int ; getArray(a,b,N,arr); for(int ar:arr){ System.out.print(" "+ar); } } private static void getArray(int a, int b, int n, int[] arr) { int i=0; int aMin=a; int bMin=b; while(i<n){ if(i==0){ arr[i]=a; i++; continue; } aMin+=a; if(aMin<bMin){ arr[i]=aMin; } else { arr[i]=bMin; bMin+=b; aMin-=a; } i++; } } }时间复杂度为O(N).
相关文章推荐
- 谷歌面试题之求一个满足要求的数组
- 一道面试题:对一个数组进行排序,要求第一个最大、第二
- 我们爱面试,一面一学-----谷歌八道面试题--【1】求一个满足要求的数组
- 谷歌八道面试题--【1】求一个满足要求的数组
- 算法面试题——两个有序数组,将一个数组放入另一个空间很大的数组,要求合并之后依然有序,时间复杂度要求最小,不使用额外的数组。
- 面试题:将一个字符串数组中的字母按照以下规则排列:表中任何单词的首字母与其前面单词的尾字母相同! 要求:字符串只由小写字母构成,且每个字符串长度在2-100之间
- 一道面试题:有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。
- 设定二维整数数组B[0..m-1,0..n-1]的数据在行,列方向上都按从小到大的顺序排序,且整形变量x中的数据在B中存在。设计一个算法,找出一对满足B[i][j]=x的I,j值,要求比较次数不超过m
- 一道面试题,对一个数组进行排序,第一个最大,第二个最小,第三个次大,一次类推
- Java面试题多思路解析--有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中
- 一道值得深思的面试题:写一个函数,返回一个数组中所有元素被第一个元素除的结果。
- 【每天一道算法题】给定一个存放整数的数组,要求数组左边为奇数,右边为偶数
- 谷歌面试题--一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间
- 2016魅族校招的一道笔试题,将一个长度为n的数组中存放的是未排序的0到n-1,要求只能将0和其他数swap,完成数组排序
- 线程同步面试题,3个线程打印一个1-100的数组,要求P1=1,P2=2,P3=3,P1=4的形式
- 面试题:在一个数组中除两个数字只出现1次外,其它数字都出现了2次, 要求尽快找出这两个数字
- Java面试题多思路解析--有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中
- 要求从键盘输入一个二维数组,然后将该二维数组按从大到小的顺序排列。
- 一道面试题: C能申请的最大全局数组大小?
- 求一个整型数组的最大和的子数列,要求时间复杂度为线性的