1 最优化
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int m,n;
Scanner scanner = new Scanner(System.in);
String[] s = scanner.next().split(",");
m = Integer.valueOf(s[0]);
n = Integer.valueOf(s[1]);
int [][] arr = new int[m+1][n+1];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
arr[i][j] = scanner.nextInt();
}
}
int[][] maxValue = new int[m][n];
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
int up = 0,left = 0;
if (i > 0) {
up = maxValue[i-1][j];
}
if (j > 0) {
left = maxValue[i][j-1];
}
maxValue[i][j] = Math.max(up,left) + arr[i][j];
}
}
System.out.println(maxValue[m-1][n-1]);
}
}
2 排序
25,84,21,47,15,27,68,35,20
21,25,84,47,15,27,68,35,20
15,20,21,25,35,27,47,68,84
15,20,21,25,27,35,47,68,84
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
StringBuffer s = new StringBuffer(scanner.next());
if (s.length() == 0 || s == null) {
return;
}
int index = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '_') {
index++;
} else {
break;
}
}
s.delete(0,index);
for (int i = s.length()-1; i >= 0; i--) {
if (s.charAt(i) == '_') {
s.deleteCharAt(i);
} else {
break;
}
}
for (int i = s.length()-1; i >= 1; i--) {
if (s.charAt(i)=='_'&&s.charAt(i-1)=='_'){
s.deleteCharAt(i-1);
}
}
System.out.println(s);
}
}
3、字符串去掉’_’
输入 :
___aaa___aa___b___
输出:
aaa_aa_b
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
if (n == 0) {
return;
}
String[] s = scanner.next().split(",");
int arr[] = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = Integer.valueOf(s[i]);
}
int result[] = new int[n];
for (int i = 0; i < n; i++) {
int min = arr[i];
int index = 0;
for (int j = i; j < n; j++) {
if (arr[j] < min) {
min = arr[j];
index = j;
}
}
for (int j = index-1; j >= i; j--) {
arr[j+1] = arr[j];
}
arr[i] = min;
//System.out.println(min);
}
for (int i = 0; i < n-1; i++) {
System.out.print(arr[i]+",");
}
System.out.println(arr[n-1]);
}
}
4、分解为质因数的乘积(用递归)
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
PrimeSplit(num,2);
}
private static void PrimeSplit(int num, int count) {
while (count < num && num % count != 0) {
count++;
}
if (count < num) {
System.out.print(count+"*");
PrimeSplit(num/count,2);
}else {
System.out.println(count);
}
}
}