关键字过滤:输入字符串s1和s2,判断s1中是否顺序包含s2中所有字符(大小写敏感),如果否,输出s1,如果是,输出“不可描述”
例:输入ABCde,Ad,输出:不可描述
输入ABCde,AA输出:ABCde
要求:不能使用字符相关的库函数
import java.util.Scanner; public class a4399 { public static void main(String args[]){ Scanner sc = new Scanner(System.in); String str = sc.nextLine(); String str1 = sc.nextLine(); String arr[] = new String[str.length()]; //第一次输入的数 String arr1[] = new String[str1.length()];//第二次输入得数 int count=0; for(int i=0;i<str.length();i++){ arr[i]= str.substring(i,i+1); } for(int j=0;j<str1.length();j++){ arr1[j]= str1.substring(j,j+1); } for(int k =0;k<str1.length();k++){ for(int n =0;n<str.length();n++){ if(arr1[k].equals(arr[n])){ arr[n]="*"; count++; break; } } } if(str1.length()==count){ System.out.println("不可描述"); }else{ System.out.println(str); } } } |
import java.util.Scanner; public class solution { public String findit(String str){ Scanner scanner = new Scanner(System.in); String str1 = scanner.next(); String str2 = scanner.next(); char[] char1 = str1.toCharArray(); char[] char2 = str2.toCharArray(); int p1 = 0; int p2 = 0; while(p1<str1.length() && p2<str2.length()){ while(p1<str1.length() && p2<str2.length() && char1[p1]!=char2[p2]){ p1++; } p1++; p2++; } if(p2 >= char2.length){ return new String("不可描述"); }else{ return str1; } } }
public String includeStr(String s1, String s2){ if(s1.length() < s2.length()) return s2; String s = ""; int index = 0; for(int i = 0; i < s2.length(); i++){ int j = index; for(; j < s1.length();){ if(s2.charAt(i) == s1.charAt(j)){ s += s2.charAt(i); index = j; break; }else{ j++; } } } if(s.equals(s2)) return "不可描述"; else return s2; }
str1=input()#第一次输入 str2=input()#第二次输入 list_str=[] for i in range(len(str1)): for j in range(len(str2)): if str1[i]==str2[j]: list_str.append(j) new_list=[] print(list_str) for item in list_str: if not item in new_list: new_list.append(item) new_list.sort() print(new_list) new_str="" for i in range(len(new_list)): new_str=new_str+str2[new_list[i]] if(new_str==str1): print("不可描述") else: print(str1)