算法
来源:互联网 发布:手机科研数据处理软件 编辑:程序博客网 时间:2024/06/05 09:33
package com.test;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class StringUtils {
public static final String SPLIT_COMMA = ",";
/**
*
* @param str
* @return
*/
public static String replaceHeadTailComma(String str) {
if (org.apache.commons.lang.StringUtils.isEmpty(str)) {
return "";
}
str = str.replaceAll("^,", "").replaceAll(",$", "");
return str;
}
/**
*
* @param strArr
* @return
*/
public static int[] stringToInt(String[] strArr) {
if (strArr == null) {
return new int[0];
}
int[] nArr = new int[strArr.length];
for (int idx = 0; idx < strArr.length; idx++) {
nArr[idx] = Integer.valueOf(strArr[idx]);
}
return nArr;
}
/**
*
* @param supperedDiplexerType
* @return
*/
public static int[] getDiplexerTypes(String supperedDiplexerType,
boolean isLow) {
if (org.apache.commons.lang.StringUtils.isEmpty(supperedDiplexerType)) {
return new int[0];
}
if (isLow) {
supperedDiplexerType = supperedDiplexerType.replaceAll("\\d+H", "")
.replaceAll(",+", ",").replaceAll("L", "");
} else {
supperedDiplexerType = supperedDiplexerType.replaceAll("\\d+L", "")
.replaceAll(",+", ",").replaceAll("H", "");
}
supperedDiplexerType = replaceHeadTailComma(supperedDiplexerType);
String[] strArray = supperedDiplexerType.split(SPLIT_COMMA);
int[] resArr = new int[strArray.length];
for (int idx = 0; idx < resArr.length; idx++) {
resArr[idx] = org.apache.commons.lang.NumberUtils.stringToInt(strArray[idx]);
}
return resArr;
}
/**
*
* @param nArr
* @return
*/
public static Set<Integer> getSumOfItems(Integer[] nArr) {
Set<Integer> resSet = new HashSet<Integer>();
int sumTowItems = 0, sumThreeItems = 0;
for (int i = 0; i < nArr.length; i++) {
resSet.add(nArr[i]);
for (int j = 0; j < nArr.length; j++) {
if (i != j) {
sumTowItems = nArr[i] + nArr[j];
resSet.add(sumTowItems);
}
for (int n = 0; n < nArr.length; n++) {
if ((i != j) && (j != n) && (i != n)) {
sumThreeItems = nArr[i] + nArr[j] + nArr[n];
resSet.add(sumThreeItems);
}
}
}
}
return resSet;
}
/**
*
* @param nArr
* @return
*/
public static Set<Integer> getSumOfItems(int[] nArr) {
Set<Integer> resSet = new HashSet<Integer>();
int sumTowItems = 0, sumThreeItems = 0;
for (int i = 0; i < nArr.length; i++) {
resSet.add(nArr[i]);
for (int j = 0; j < nArr.length; j++) {
if (i != j) {
sumTowItems = nArr[i] + nArr[j];
resSet.add(sumTowItems);
}
for (int n = 0; n < nArr.length; n++) {
if ((i != j) && (j != n) && (i != n)) {
sumThreeItems = nArr[i] + nArr[j] + nArr[n];
resSet.add(sumThreeItems);
}
}
}
}
return resSet;
}
public static void main(String[] args) {
int[] bandArr = new int[] { 1, 4 };
String diplexerType = "2L,2H,3H,1L2H,1L3H,2L2H,2L3H";
int[] resArr = getDiplexerTypes(diplexerType, true);
System.out.println("\n================================");
for (int idx = 0; idx < resArr.length; idx++) {
System.out.print(resArr[idx] + "\t");
}
Set<Integer> resSet = getSumOfItems(resArr);
System.out.println("\n================================");
for (Iterator iter = resSet.iterator(); iter.hasNext();) {
Integer num = (Integer) iter.next();
System.out.print(num + "\t");
}
boolean flag = resSet.contains(bandArr[0]);
System.out.println("\ncontains low:" + flag);
resArr = getDiplexerTypes(diplexerType, false);
System.out.println("\n================================");
for (int idx = 0; idx < resArr.length; idx++) {
System.out.print(resArr[idx] + "\t");
}
resSet = getSumOfItems(resArr);
System.out.println("\n================================");
for (Iterator iter = resSet.iterator(); iter.hasNext();) {
Integer num = (Integer) iter.next();
System.out.print(num + "\t");
}
flag = resSet.contains(bandArr[1]);
System.out.println("\ncontains high:" + flag);
}
}
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class StringUtils {
public static final String SPLIT_COMMA = ",";
/**
*
* @param str
* @return
*/
public static String replaceHeadTailComma(String str) {
if (org.apache.commons.lang.StringUtils.isEmpty(str)) {
return "";
}
str = str.replaceAll("^,", "").replaceAll(",$", "");
return str;
}
/**
*
* @param strArr
* @return
*/
public static int[] stringToInt(String[] strArr) {
if (strArr == null) {
return new int[0];
}
int[] nArr = new int[strArr.length];
for (int idx = 0; idx < strArr.length; idx++) {
nArr[idx] = Integer.valueOf(strArr[idx]);
}
return nArr;
}
/**
*
* @param supperedDiplexerType
* @return
*/
public static int[] getDiplexerTypes(String supperedDiplexerType,
boolean isLow) {
if (org.apache.commons.lang.StringUtils.isEmpty(supperedDiplexerType)) {
return new int[0];
}
if (isLow) {
supperedDiplexerType = supperedDiplexerType.replaceAll("\\d+H", "")
.replaceAll(",+", ",").replaceAll("L", "");
} else {
supperedDiplexerType = supperedDiplexerType.replaceAll("\\d+L", "")
.replaceAll(",+", ",").replaceAll("H", "");
}
supperedDiplexerType = replaceHeadTailComma(supperedDiplexerType);
String[] strArray = supperedDiplexerType.split(SPLIT_COMMA);
int[] resArr = new int[strArray.length];
for (int idx = 0; idx < resArr.length; idx++) {
resArr[idx] = org.apache.commons.lang.NumberUtils.stringToInt(strArray[idx]);
}
return resArr;
}
/**
*
* @param nArr
* @return
*/
public static Set<Integer> getSumOfItems(Integer[] nArr) {
Set<Integer> resSet = new HashSet<Integer>();
int sumTowItems = 0, sumThreeItems = 0;
for (int i = 0; i < nArr.length; i++) {
resSet.add(nArr[i]);
for (int j = 0; j < nArr.length; j++) {
if (i != j) {
sumTowItems = nArr[i] + nArr[j];
resSet.add(sumTowItems);
}
for (int n = 0; n < nArr.length; n++) {
if ((i != j) && (j != n) && (i != n)) {
sumThreeItems = nArr[i] + nArr[j] + nArr[n];
resSet.add(sumThreeItems);
}
}
}
}
return resSet;
}
/**
*
* @param nArr
* @return
*/
public static Set<Integer> getSumOfItems(int[] nArr) {
Set<Integer> resSet = new HashSet<Integer>();
int sumTowItems = 0, sumThreeItems = 0;
for (int i = 0; i < nArr.length; i++) {
resSet.add(nArr[i]);
for (int j = 0; j < nArr.length; j++) {
if (i != j) {
sumTowItems = nArr[i] + nArr[j];
resSet.add(sumTowItems);
}
for (int n = 0; n < nArr.length; n++) {
if ((i != j) && (j != n) && (i != n)) {
sumThreeItems = nArr[i] + nArr[j] + nArr[n];
resSet.add(sumThreeItems);
}
}
}
}
return resSet;
}
public static void main(String[] args) {
int[] bandArr = new int[] { 1, 4 };
String diplexerType = "2L,2H,3H,1L2H,1L3H,2L2H,2L3H";
int[] resArr = getDiplexerTypes(diplexerType, true);
System.out.println("\n================================");
for (int idx = 0; idx < resArr.length; idx++) {
System.out.print(resArr[idx] + "\t");
}
Set<Integer> resSet = getSumOfItems(resArr);
System.out.println("\n================================");
for (Iterator iter = resSet.iterator(); iter.hasNext();) {
Integer num = (Integer) iter.next();
System.out.print(num + "\t");
}
boolean flag = resSet.contains(bandArr[0]);
System.out.println("\ncontains low:" + flag);
resArr = getDiplexerTypes(diplexerType, false);
System.out.println("\n================================");
for (int idx = 0; idx < resArr.length; idx++) {
System.out.print(resArr[idx] + "\t");
}
resSet = getSumOfItems(resArr);
System.out.println("\n================================");
for (Iterator iter = resSet.iterator(); iter.hasNext();) {
Integer num = (Integer) iter.next();
System.out.print(num + "\t");
}
flag = resSet.contains(bandArr[1]);
System.out.println("\ncontains high:" + flag);
}
}
0 0
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- 算法
- ASP.NET中前台调用后台、后台调用前台的变量或方法
- read it later的存在必要感
- 图片和文件传输压缩总结
- c++ protected成员及继承
- SQL语句中Where后面最多能连接多少个条件
- 算法
- Ubuntu下"由于已经达到 MaxReports 限制,没有写入 apport 报告" 错误解决办
- 2013年下半年案例挣值分析技术EVM案例试题讲解
- 漫谈varchar和Nvarchar区别
- DB2 linux 图形界面 安装
- 回调函数
- linux 引导流程
- HTML
- Python list