1.输入一个字符串,求出该字符串包含的字符集合,按照字母输入的顺序输出。
数据范围:输入的字符串长度满足 1 \le n \le 100 \1≤n≤100 ,且只包含大小写字母,区分大小写。
本题有多组输入
import java.util.Scanner;
public class javatext {
public static String func(String str){
//输入一个字符串,求出该字符串包含的字符集合,按照字母输入的顺序输出。
//数据范围:输入的字符串长度满足 1 \le n \le 100 \1≤n≤100 ,且只包含大小写字母,区分大小写。
//本题有多组输入
boolean[] flg=new boolean[255]; //定义一个Boolean类型的数组;
StringBuilder sb=new StringBuilder();
for(int i=0;i<str.length();i++){
char ch=str.charAt(i);
if(flg[ch]==false){
sb.append(ch);
flg[ch]=true;
}
}
return sb.toString();
}
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNextLine()) //多组输入,代表需要循环输入;
{
String str = sc.nextLine();
String ret = func(str);
System.out.println(ret);
}
}
}
2.
给出一个有序的整数数组 A 和有序的整数数组 B ,请将数组 B 合并到数组 A 中,变成一个有序的升序数组
数据范围: 0 \le n,m \le 1000≤n,m≤100,|A_i| <=100∣Ai∣<=100, |B_i| <= 100∣Bi∣<=100
import java.util.*;
public class Solution {
public void merge(int A[], int m, int B[], int n) {
int i = m - 1;
int j = n - 1;
int k = m + n - 1;
while (i >= 0 && j >= 0) {
if(A[i]<=B[j]){
A[k]=B[j];
j--;
k--;
}else{
A[k]=A[i];
i--;
k--;
}
}
while(j>=0){
A[k]=B[j];
j--;
k--;
}
while(i>=0){
A[k]=A[i];
i--;
k--;
}
}
}