java常见算法
2013-09-26 19:23
232 查看
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;
}
相关文章推荐
- Java基础三种常见交换算法的比较
- 面试10大算法汇总+常见题目解答(Java)
- JAVA常见算法题(八)
- 常见算法学习及其Java实现--插入排序算法
- JAVA常见算法题(二十)
- 我在北京找工作(四):java实现递归<1> 一些笔试题+常见算法
- Java常见排序算法之冒泡排序
- java之美之常见算法(详解)
- JAVA常见算法题(三十五)
- JAVA常见的权限控制算法的实现
- JAVA常见的权限控制算法的实现[转]
- Java 求解最大公约数的四种常见算法
- Java中常见算法总结
- JAVA常见算法题(九)
- JAVA常见算法题(二十六)
- 在Java中利用Apache Commons Codec API实现常见的加密解密算法,如:md5,sha256
- 【算法】Java中的常见排序Sort
- 面试10大算法汇总+常见题目解答(Java)
- JAVA常见算法题(十)
- JAVA常见算法题(二十一)