java常见算法
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常见算法的更多相关文章
- JAVA常见算法题(三十一)---冒泡排序
package com.jege.spring.boot.hello.world; /** * java算法之冒泡排序<br> * 将数组按照从大到小的顺序排列<br> * * ...
- JAVA常见算法题(二十八)
package com.forezp.util; import java.util.Arrays; /** * 两个int数组,都是从小到大的的排列,请合并为一个新的数组,也是从小到到大的排列, * ...
- Java常见算法整理
兔子问题(斐波那契数列规律) 台阶问题 (兔子问题变种,递归规律) 素数问题(判断素数.质数方式) 水仙花数问题(数字分解) 查找算法(二分查找) 排序算法(选择排序,冒泡排序,快速排序) 兔子问题, ...
- JAVA常见算法题(三十)
package com.forezp.util; import java.io.BufferedReader; import java.io.FileReader; import java.io.In ...
- JAVA常见算法题(二十九)
package com.forezp.util; import java.util.Scanner; /** * 判断输入的5个字符串的最大长度,并输出 * * * @author Administr ...
- JAVA常见算法题(二十七)
题目:给定一个存放整数的数组,请写一个算法,把偶数移动到该数组的右边,奇数放在该数组的左边,请考虑时间和空间的最优算法. package com.forezp.util; /** * 题目:给定一个存 ...
- JAVA常见算法题(二十六)
package com.xiaowu.demo; import java.util.Scanner; /** * Java实现将阿拉伯数字转为汉字 * * @author WQ * */ public ...
- JAVA常见算法题(二十五)
/** * Java实现中文数字转换为阿拉伯数字 * * * @author WQ * */ public class Demo26 { public static void main(String[ ...
- JAVA常见算法题(三十五)
判断一个整数能被几个9整除. public static void main(String[] args) { f(729); f(730); } public static void f(int n ...
随机推荐
- 简单3d RPG游戏 之 001 生命条(一)
1.创建一个新项目,引用如下的包: 2.将asset里的First Person Controller拖入project作为游戏角色,将其命名为Player,将mainCamera删除,这样就是用Pl ...
- C# 操作mongodb 分组
c#操作mongodb的分组的简单例子: 1.首先要下载c#对应的mongodb驱动,官方下载地址:https://github.com/mongodb/mongo-csharp-driver/rel ...
- JAVA File常用的API介绍
package coreJava; import java.io.File; import java.io.IOException; public class FileDemo { public st ...
- float([x]): 将一个字符串或数转换为浮点数。如果无参数将返回0.0
float([x]): 将一个字符串或数转换为浮点数.如果无参数将返回0.0 >>> float(12) 12.0 >>> float(-122) -122.0 & ...
- Loadrunner负载机agent
记录下来备用,若要一台服务器充当负载机,windows下必须启动magentproc.exe
- ZOJ 3817 Chinese Knot
题意:给定4个长度为N的字符串( N <= 100000),然后构成一个“中国结”,给定目标串,问能否从某个节点出发走一遍得到目标串,其中不能连续通过3个中心节点,也就是从字符串一个端点转移到其 ...
- SPRING IN ACTION 第4版笔记-第五章Building Spring web applications-001-SpringMVC介绍
一. 二.用Java文件配置web application 1. package spittr.config; import org.springframework.web.servlet.suppo ...
- Ubuntu10.10 安装scim
Ubuntu10.10 上没有找到默认的输入法,所以要安装一个中文输入法,网上好多介绍的,但都 不怎么好用,下面参考http://blog.csdn.net/caodesheng110/article ...
- Excel Cannot Connect to SharePoint List
As I am working in SharePoint support, I come across so many issues on day 2 day basis and always tr ...
- SSH框架中配置Hibernate使用proxool连接池
一.导入proxool.jar包 案例用的是proxool-0.8.3.jar,一般通过MyEclipse配置的SSH都会包含这个jar,如果没有,就去网上搜下下载导入就好了. 二.新建Proxool ...