论坛首页 招聘求职论坛

今天去面试碰到的两个题,求解

浏览 11278 次
精华帖 (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);
                }
           }
}


这个经过测试,结果打不出东西。
0 请登录后投票
   发表时间: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);
				}
			}			
		}
	}
0 请登录后投票
   发表时间: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);
				}
			}			
		}
	}


经过验证 这个方法可行。

0 请登录后投票
   发表时间: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);
}
}


经测试,这个也不行
0 请登录后投票
   发表时间: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);
				}
			}			
		}
	}


经过验证 这个方法可行。


这个思想不错,这前没认真看..

0 请登录后投票
   发表时间: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++;
 }

 

都要这么折腾下

0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics