您的位置:首页 > 编程语言 > Java开发

java常见算法

2013-09-26 19:23 218 查看

1.冒泡排序

public int[] bubbleSort(int arr){
int temp;
boolean isOk;
for(int i = 0; i < arr.length; i++){
isOk = true;
for(int j = 0; j < arr.length - i - 1; j++){
if(arr[j] > arr[j + 1]){
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
isOk = false;
}
}
if(isOk){
break;
}
}
return arr;
}

2.阶乘

public int calculatorJ(int j){
return j == 1 ? 1 : j * calculatorJ(j - 1);
}

3.最大公约数

public int divisor(int m, int n){
if(m % n == 0)
return n;
else
return divisor(n, m % n);
}

4.最小公倍数

public int getGBS(int n1, int n2){
int gbs = n1 * n2 / divisor(n1,n2);
return gbs;
}

5.验证字符串是否符合由(),[],{}组成的不交叉表达式

public boolean metchBreaker(String s){
List<Character> list = new LinkedList<Character>();
char c;
try{
for(int i = 0; i < s.length(); i++){
c = s.charAt(i);
switch (c)
{
case '{':
case '[':
case '(':
list.add(c);
break;
case '}':
if('{' == list.get(list.size() - 1)){
list.remove(list.size() - 1);
}else{
return false;
}
break;
case ']':
if('[' == list.get(list.size() - 1)){
list.remove(list.size() - 1);
}else{
return false;
}
break;
case ')':
if('(' == list.get(list.size() - 1)){
list.remove(list.size() - 1);
}else{
return false;
}
break;
}
}
}catch (Exception e) {
return false;
}
if(list.isEmpty())
return true;
else
return false;

}



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: