机试题目,没写出来,巨汗!请大侠帮忙

dabaishaflyw 2006-06-29 03:37:03
比如说有10个数字(0--9),第一次去掉所有奇数位,就剩下(1,3,5,7,9),然后去掉奇数位,剩下(3,7),然后剩下奇数位,剩下7.就是这个意思.用java实现.
...全文
259 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
BeenZ 2006-06-29
  • 打赏
  • 举报
回复
一级JAVA?
dogod 2006-06-29
  • 打赏
  • 举报
回复
for(rlt=1;rlt<=array.length;)rlt*=2;
rlt/=2;
System.out.println(array[rlt-1]);
dogod 2006-06-29
  • 打赏
  • 举报
回复
int i,rlt;
for(i=0,rlt=1;rlt<=MAXSIZE;i++)
rlt*=rlt;
System.out.println("最后剩下的数为:"+array[i-1]);
issgates 2006-06-29
  • 打赏
  • 举报
回复
部分代码:
ArrayList list = new ArrayList();
for (int i = 0; i < 10; i++) {
list.add(i);
}
System.out.println("输入:" + list);
do {
for (int i = 0, size = list.size(); i < size; i = i + 2) {
if (size == 1) {
System.out.println("最终输出:" + list.get(0));
return;
}
list.set(i, null);
}
for (int i = 0; i < list.size(); i++) {
if (list.get(i) == null) {
list.remove(i);
i--;
}
}
} while (list.size() >= 1);

输入:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
最终输出:7
syhan 2006-06-29
  • 打赏
  • 举报
回复
用vector或者arraylist来做不难的,都是可变数组而且可以用下标来访问
wocongdongfanglai 2006-06-29
  • 打赏
  • 举报
回复
我写的代码

public class Test {
public static void main(String [] args) {
int [] array = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Test test = new Test();

test.process(array);
}

public void process(int [] array) {
int [] array2 = new int[array.length / 2];

System.out.println("array2.length: " + array2.length);

int j = 0;

for (int i = 0; i < array.length; i++) {
if ((i % 2) == 1) {
System.out.println("array[" + i + "]: " + array[i]);
array2[j] = array[i];
System.out.println("array2[" + j + "]: " + array2[j]);
j++;
}
}

if (array2.length > 1) {
process(array2);
}
}
}
商科程序员 2006-06-29
  • 打赏
  • 举报
回复
这有什么难的? 你用一个计数器来做不就行了?
或者费点性能, 用ARRAYLIST什么的.
先ADD,然后REMOVE
注意每次REMOVE后长度会减1.

如果用数组的话要记得移位!
或都把删除的数值都设为一个特殊值以示不参加计数.

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧