字符集合
描述:
每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。
每组数据一行,按字符串原有的字符顺序,输出字符集合,记重复出现并靠后的字母不输出。
例如:
输入:ABABc
输出:ABc
思路:
每组输入,所以要进行while循环输入,写一个fun方法进行描写,首先实例化一个对象,然后用while循环遍历字符,如果原来的集合里面有,就不进入,。没有,则遍历的字符进入对象里。
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
while (scan.hasNextLine()){
String s=scan.nextLine();
String ret=fun(s);
System.out.println(ret);
}
}
public static String fun(String str) {
String string="";
for (int i = 0; i < str.length(); i++) {
char ch=str.charAt(i);
if(!string.contains(ch+"")){
string+=ch;
}
}
return (string);
}
}
结果:
合并两个数组:
给出一个有序的整数数组A和有序的整数数组B,请将B合并到A中,变成一个有序的升序数组。
思路:分别从两个数组的最后一个位置开始算,并在A中定义一个k变量,比较两个数组里面内容的大小,谁大把谁移到A数组里的最后一个位置,依次进行循环,出循环之后,因为是有序数组,所以谁里面有元素就把谁里面的元素移入A数组里面,依次循环。
public int[] merge (int[] A, int m, int[] B, int n) {
int i = m-1;
int j = n-1;
int k=m+n-1;
//谁大把谁移到K里面
while (i>=0&&j>=0){
if(i>j){
A[k]=A[i];
k--;
i--;
}else {
A[k]=B[j];
k--;
j--;
}
}
//谁先走完了,把剩下的元素移到A数组里面。
while (i>=0){
A[k]=A[i];
k--;
i--;
}
while (j>=0){
A[k]=B[j];
k--;
j--;
}
return A;
}
标签:基于,String,int,--,while,数组,JAVASE,string
From: https://blog.csdn.net/2401_86415114/article/details/143253938