android面试java算法题【安卓进化四】

来源:互联网 发布:windows反复重启 编辑:程序博客网 时间:2024/05/18 02:47

总结以前去公司面试出的算法题,大致有这几类:一个for循环,两个for循环,排序,比较大小,递归,等等。希望对找工作的人有所帮助,面试题有的我到现在没弄明白呢!等我弄明白后,也会贴出来分享的!

 1、写一个方法,要求:输入一个字符串ABCDEFG,要求倒序输出GFEDCBA:

[java] view plain copy
  1. package com.cn.test;  
  2.   
  3. public class StringDaoXu { public String formatString(String s){  
  4.   
  5. //用for倒序循环,取char类型的方法实现  
  6.   for(int i=s.length()-1;i>=0;i--){  
  7.    System.out.print(s.charAt(i));  
  8.   }  
  9.   return s;  
  10.  }  
  11.    
  12.  /** 
  13.   * @param args 
  14.   */  
  15.  public static void main(String[] args) {  
  16.   // TODO Auto-generated method stub  
  17.   StringDaoXu sdx = new StringDaoXu();  
  18.         sdx.formatString("abcdefghi");  
  19.  }  
  20. }  
[java] view plain copy
  1. package com.cn.test;  
  2.   
  3. public class StringDaoXu { public String formatString(String s){  
  4.   
  5. //用for倒序循环,取char类型的方法实现  
  6.   for(int i=s.length()-1;i>=0;i--){  
  7.    System.out.print(s.charAt(i));  
  8.   }  
  9.   return s;  
  10.  }  
  11.    
  12.  /** 
  13.   * @param args 
  14.   */  
  15.  public static void main(String[] args) {  
  16.   // TODO Auto-generated method stub  
  17.   StringDaoXu sdx = new StringDaoXu();  
  18.         sdx.formatString("abcdefghi");  
  19.  }  
  20. }  


运行结果如图:

2、有一个三位数,个位是c,十位是b,百位是a,

如上运算,求满足这种的三位数有几种情况?

[java] view plain copy
  1. public class MoberTest1 {  
  2.   
  3.  /** 
  4.   * @param args 
  5.   */  
  6.  public static void main(String[] args) {  
  7.   // TODO Auto-generated method stub  
  8.   int b = 1;  
  9.      for(int a=0;a<=9;a++){  
  10.       for(int c=0;c<=9;c++){  
  11.        if(a+c==13){  
  12.         System.out.print("a="+a+" ");  
  13.         System.out.print("b="+b+" ");  
  14.         System.out.print("c="+c+"  ;");  
  15.         System.out.println();  
  16.        }  
  17.       }  
  18.      }  
  19.  }  
[java] view plain copy
  1. public class MoberTest1 {  
  2.   
  3.  /** 
  4.   * @param args 
  5.   */  
  6.  public static void main(String[] args) {  
  7.   // TODO Auto-generated method stub  
  8.   int b = 1;  
  9.      for(int a=0;a<=9;a++){  
  10.       for(int c=0;c<=9;c++){  
  11.        if(a+c==13){  
  12.         System.out.print("a="+a+" ");  
  13.         System.out.print("b="+b+" ");  
  14.         System.out.print("c="+c+"  ;");  
  15.         System.out.println();  
  16.        }  
  17.       }  
  18.      }  
  19.  }  


运行结果如下图:

3、有一组数,求这组数的最大数和最小数的绝对值是多少?

[java] view plain copy
  1. package com.cn.test;  
  2.   
  3. public class MaxAndMin {  
  4.   
  5.  public int ChaZhi(int[] in){  
  6.   int temp = 0;  
  7.   for(int i=0;i<in.length;i++){  
  8.    for(int j=0;j<in.length;j++){  
  9.     if(in[i]>in[j]){  
  10.      temp = in[i];  
  11.      in[i] = in[j];  
  12.      in[j] = temp;  
  13.     }  
  14.    }  
  15.   }  
  16. //  System.out.println(in[0] - in[in.length-1]);  
  17.   return Math.abs(in[0] - in[in.length-1]);  
  18.  }  
  19.  /** 
  20.   * @param args 
  21.   */  
  22.  public static void main(String[] args) {  
  23.   // TODO Auto-generated method stub  
  24.   int[] in = {10,20,30,40,50,20,33,80};  
  25.         MaxAndMin mam = new MaxAndMin();  
  26.         mam.ChaZhi(in);  
  27.         System.out.println(mam.ChaZhi(in));  
  28.  }  
  29. }  
[java] view plain copy
  1. package com.cn.test;  
  2.   
  3. public class MaxAndMin {  
  4.   
  5.  public int ChaZhi(int[] in){  
  6.   int temp = 0;  
  7.   for(int i=0;i<in.length;i++){  
  8.    for(int j=0;j<in.length;j++){  
  9.     if(in[i]>in[j]){  
  10.      temp = in[i];  
  11.      in[i] = in[j];  
  12.      in[j] = temp;  
  13.     }  
  14.    }  
  15.   }  
  16. //  System.out.println(in[0] - in[in.length-1]);  
  17.   return Math.abs(in[0] - in[in.length-1]);  
  18.  }  
  19.  /** 
  20.   * @param args 
  21.   */  
  22.  public static void main(String[] args) {  
  23.   // TODO Auto-generated method stub  
  24.   int[] in = {10,20,30,40,50,20,33,80};  
  25.         MaxAndMin mam = new MaxAndMin();  
  26.         mam.ChaZhi(in);  
  27.         System.out.println(mam.ChaZhi(in));  
  28.  }  
  29. }  


运行结果如下图:

4、打印九九乘方表:

[java] view plain copy
  1. package com.cn.test;  
  2.   
  3. public class 九九乘法 {  
  4.   
  5.  public static void main(String[] args)  
  6.  {  
  7.   for(int i=1;i<=9;i++){  
  8.    for(int j=1;j<=i;j++){  
  9.     System.out.print(j+"*"+i+"="+i*j+"  ");  
  10.    }  
  11.    System.out.println();  
  12.   }  
  13.  }  
  14. }  
[java] view plain copy
  1. package com.cn.test;  
  2.   
  3. public class 九九乘法 {  
  4.   
  5.  public static void main(String[] args)  
  6.  {  
  7.   for(int i=1;i<=9;i++){  
  8.    for(int j=1;j<=i;j++){  
  9.     System.out.print(j+"*"+i+"="+i*j+"  ");  
  10.    }  
  11.    System.out.println();  
  12.   }  
  13.  }  
  14. }  


运行结果如下图:

5、利用递归求一个数的阶乘?

[java] view plain copy
  1. package com.cn.test;  
  2.   
  3. public class DiGuiText {  
  4.   
  5.  /** 
  6.   * @param args 
  7.   */  
  8.  public static void main(String[] args) {  
  9.   // TODO Auto-generated method stub  
  10.         DiGuiText dg = new DiGuiText();  
  11.         System.out.println("10的阶乘为:"+dg.diGui(10));  
  12.  }  
  13.  public long diGui(int n){  
  14.   if(n==1){  
  15.    return 1;  
  16.   }else{  
  17.    return n*diGui(n-1);  
  18.   }  
  19.  }  
  20. }  
[java] view plain copy
  1. package com.cn.test;  
  2.   
  3. public class DiGuiText {  
  4.   
  5.  /** 
  6.   * @param args 
  7.   */  
  8.  public static void main(String[] args) {  
  9.   // TODO Auto-generated method stub  
  10.         DiGuiText dg = new DiGuiText();  
  11.         System.out.println("10的阶乘为:"+dg.diGui(10));  
  12.  }  
  13.  public long diGui(int n){  
  14.   if(n==1){  
  15.    return 1;  
  16.   }else{  
  17.    return n*diGui(n-1);  
  18.   }  
  19.  }  
  20. }  


结果如下图:这个是6的介乘:


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 裤子被84掉颜色怎么办 高中生晚上偷家里电脑上网怎么办 住高层睡不好觉怎么办 水瓶座如果恨我们了该怎么办 不锈钢保温瓶不保温了怎么办 壁纸颜色选深了怎么办 客厅壁纸太暗了怎么办 别人说你衣服丑怎么办 高楼热水器风大熄火怎么办 1楼独立下水2楼怎么办 宜家家具不会装怎么办 服务行业遇到低素质客户怎么办 服务类没有进项票怎么办 教师对学生缺乏耐心怎么办 买了竹料烂尾楼怎么办 刚毕业想换工作怎么办 客厅灯变不了光怎么办 塑料镀铝浸底漆咬底怎么办 标志408钥匙掉了怎么办 房本测绘页丢了怎么办 房本测绘页信息有误怎么办 税务登记证办完没有年检怎么办 建筑施工升降机司机证怎么办 北京建筑施工证怎么办呢 模拟城市5水抽干了怎么办 ip地址错误网络无法接通怎么办 rhino模型太大打开半天怎么办 日本新干线车票丢了怎么办 房间太干燥怎么办又热 薄荷叶子全干了怎么办 水培栀子花叶子蔫了怎么办 薄荷叶叶边干了怎么办 碗莲叶子发黑腐烂怎么办 龟背叶叶子蔫了怎么办 夏天龟背竹蔫了怎么办 春羽叶子长黄斑怎么办 百合竹叶子发黄掉落怎么办 凤尾蕨叶子蔫了怎么办 绿地珊瑚蕨干了怎么办 翠云草叶子蔫了怎么办 珊瑚蕨叶子烂了怎么办