腾讯面试题
2013-07-14 22:06
183 查看
题目
两个数组a
,b
,其中A
的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];
要求:
1.不准用除法运算
2.除了循环计数值,a
,b
外,不准再用其他任何变量(包括局部变量,全局变量等)
3.满足时间复杂度O(n),空间复杂度O(1)
package com.tencent;
public class ArrayCopy {
public static void main(String[] args) {
ArrayCopy();
}
public static void ArrayCopy() {
int a[]={2,3,4,5};
int b[]=new int[4];
b[0] = 1;
for (int i = 1; i < 4; i++) {
b[0] *= a[i - 1];
b[i] = b[0];
}
b[0] = 1;
for (int i = 4 - 2; i > 0; i--) {
b[0] *= a[i + 1];
b[i] *= b[0];
}
b[0] *= a[1];
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
System.out.println();
for (int i = 0; i < b.length; i++) {
System.out.print(b[i]+" ");
}
}
}
截图如下:
两个数组a
,b
,其中A
的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]...*a[N-1]/a[i];
要求:
1.不准用除法运算
2.除了循环计数值,a
,b
外,不准再用其他任何变量(包括局部变量,全局变量等)
3.满足时间复杂度O(n),空间复杂度O(1)
package com.tencent;
public class ArrayCopy {
public static void main(String[] args) {
ArrayCopy();
}
public static void ArrayCopy() {
int a[]={2,3,4,5};
int b[]=new int[4];
b[0] = 1;
for (int i = 1; i < 4; i++) {
b[0] *= a[i - 1];
b[i] = b[0];
}
b[0] = 1;
for (int i = 4 - 2; i > 0; i--) {
b[0] *= a[i + 1];
b[i] *= b[0];
}
b[0] *= a[1];
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
System.out.println();
for (int i = 0; i < b.length; i++) {
System.out.print(b[i]+" ");
}
}
}
截图如下:
相关文章推荐
- 试着解一道腾讯面试题
- Android 2017最新面试题 深圳华为 腾讯 中兴 腾讯详细解析
- 2012腾讯实习面试题
- 腾讯面试题-回文构造
- 腾讯面试题
- 腾讯面试题整理一
- 一道腾讯的面试题,关于a和&a
- 360、腾讯、迅雷Windows编程、网络编程面试题及答案
- 腾讯面试题集锦
- 经典面试题(一)附答案 算法+数据结构+代码 微软Microsoft、谷歌Google、百度、腾讯
- 腾讯几道面试题
- 阿里、腾讯、百度、华为、京东、搜狗和滴滴最新面试题汇集【转】
- 2014腾讯实习一面面试题
- (2013&2012Windows编程+网络编程)360、腾讯、迅雷面试题及答案
- 阿里、腾讯、百度、华为、京东、搜狗和滴滴最新面试题汇集
- 一道腾讯面试题
- 进制转换—腾讯面试题
- 腾讯校园招聘前端实习生面试题及答案
- 巨人携程迅雷美团微软小米百度腾讯阿里等历年笔试面试题
- 一道腾讯链表面试题