锁定老帖子 主题:今天去面试碰到的两个题,求解
精华帖 (0) :: 良好帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-03-14
最后修改:2011-03-14
天朗java 写道 第二题:
public void printInt(int M,int N) { for(int i=1;i<=N;i++) { if(N%M==0){ System.out.print(N); } } } 这个经过测试,结果打不出东西。 |
|
返回顶楼 | |
发表时间:2011-03-14
最后修改:2011-03-14
vboy1988 写道
打印在1到N之间且能被M整除的数即可。
对不起,看错了,请无视此贴。 想了一想,可以用队列,先进先出调度。 比如从一开始,数完一后如果不符合情况就又把“一”加到队列末尾,如此循环即可
public static void test(int m,int n){ ArrayList<Integer> list = new ArrayList<Integer>(); for(int i=0;i<n;i++) list.add(Integer.valueOf(i+1)); while(!list.isEmpty()){ for(int j=1;j<=m;j++){ if(j == m){ int temp = (int) list.remove(0); System.out.println(temp); }else{ int temp = (int) list.remove(0); list.add(temp); } } } } |
|
返回顶楼 | |
发表时间:2011-03-14
tracyhuyan 写道
vboy1988 写道
打印在1到N之间且能被M整除的数即可。
对不起,看错了,请无视此贴。 想了一想,可以用队列,先进先出调度。 比如从一开始,数完一后如果不符合情况就又把“一”加到队列末尾,如此循环即可
public static void test(int m,int n){ ArrayList<Integer> list = new ArrayList<Integer>(); for(int i=0;i<n;i++) list.add(Integer.valueOf(i+1)); while(!list.isEmpty()){ for(int j=1;j<=m;j++){ if(j == m){ int temp = (int) list.remove(0); System.out.println(temp); }else{ int temp = (int) list.remove(0); list.add(temp); } } } }
|
|
返回顶楼 | |
发表时间:2011-03-14
bxj0702 写道 1.
没明白要考什么 2. public void resolveQ2(int m , int n){ int cyclicVariable = 0; while(cyclicVariable <= n-m){ System.out.println(cyclicVariable += m); } } 经测试,这个也不行 |
|
返回顶楼 | |
发表时间:2011-03-14
wdz567 写道
tracyhuyan 写道
vboy1988 写道
打印在1到N之间且能被M整除的数即可。
对不起,看错了,请无视此贴。 想了一想,可以用队列,先进先出调度。 比如从一开始,数完一后如果不符合情况就又把“一”加到队列末尾,如此循环即可
public static void test(int m,int n){ ArrayList<Integer> list = new ArrayList<Integer>(); for(int i=0;i<n;i++) list.add(Integer.valueOf(i+1)); while(!list.isEmpty()){ for(int j=1;j<=m;j++){ if(j == m){ int temp = (int) list.remove(0); System.out.println(temp); }else{ int temp = (int) list.remove(0); list.add(temp); } } } }
|
|
返回顶楼 | |
发表时间:2011-03-14
最后修改:2011-03-14
LinkedList<Integer> a3=new LinkedList<Integer>(); //初始化数据 for(int i=1;i<5;i++){ a3.add(i); } int m=6; int k=1; while(!a3.isEmpty()){ if((k)%m==0){ System.out.println("出列:"+a3.removeFirst()+" 剩余人数:"+a3.size()); }else{ a3.add(a3.poll()); } k++; }
都要这么折腾下 |
|
返回顶楼 | |