Java面试题之算法篇

面试的时候经常会考到一些基本的东西,算法这块考的也就是些基本的算法。这里将列举一些常用的算法题目,会不定时的添加新的题目。

1. 冒泡排序算法
 
 
  1. /** 
  2.  * 冒泡排序算法 
  3.  */  
  4. public class BubbleSort {  
  5.     public static void sort(int[] values) {  
  6.         int temp;  
  7.         for (int i = 0; i < values.length; ++i) {  
  8.             for (int j = 0; j < values.length - i - 1; ++j) {  
  9.                 if (values[j] > values[j + 1]) {  
  10.                     temp = values[j];  
  11.                     values[j] = values[j + 1];  
  12.                     values[j + 1] = temp;  
  13.                 }  
  14.             }  
  15.         }  
  16.     }  
  17. }  

2.递归算法

 
  1. /** 
  2.  *递归算法,求n的阶乘 
  3.  */  
  4. public class Recursion {  
  5.     int result=1;  
  6.     public int nRecursion(int n) {       
  7.        if (n > 0) {           
  8.           result = result * n;         
  9.           nRecursion(n-1);       
  10.        }   
  11.        return result;  
  12.     }   
  13. }   

3.求最大公约数和最小公倍数
 
  1. /** 
  2.  * 求最大公约数和最小公倍数 
  3.  */  
  4. public class Convention {  
  5.     /** 
  6.      * 求两数的最大公约数 
  7.      */  
  8.     int divisor(int m,int n){   
  9.         if(m%n==0){  
  10.            return n;  
  11.        }else{  
  12.            return divisor(n,m%n);  
  13.        }  
  14.     }  
  15.     /** 
  16.      * 求两数的最小公倍数 
  17.      */  
  18.     int gbs(int a,int b){  
  19.         int gbs = 0;  
  20.         gbs = a*b/divisor(a,b);  
  21.         return gbs;  
  22.     }  
  23. }  

待续。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值