java 압축 문자열과 java 문자열 필터 구현
요구 사항 구현 함수:
void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr);
[입력] pInputStr: 입력 문자열 lInputLen: 입력 문자열 길이 [출력] pOutputStr: 출력 문자열, 공간이 개척되어 입력 문자열과 같이 깁니다.
[주의] 이 함수 기능 알고리즘만 완성하면 중간에 입출력이 필요 없습니다.
예시 입력: "deefd"출력: "def"입력: "afafafaf"출력: "af"입력: "ppppppp"출력: "p"
main 함수는 숨겨져 있습니다. 사용자의 테스트 입구를 보존합니다. 이 함수는 실행 함수를 테스트할 수 있습니다. printf 출력 출력을 호출할 수 있습니다. 현재 다른 방법으로 테스트할 수 있습니다. 최종 프로그램이 정확하게 실행될 수 있도록 보장하면 됩니다. 이 함수는 임의로 수정할 수 있지만 함수의 원형을 바꾸지 마십시오.번역 운행이 영향을 받지 않도록 반드시 보장해야 한다.
문제2: 제목 설명: 키보드를 통해 소문자(a~z)로 구성된 문자열을 입력한다.문자열 압축 프로그램을 작성하여 문자열에 연속적으로 출석한 중복 자모를 압축하고 압축된 문자열을 출력하십시오.압축 규칙: 1.연속적으로 반복되는 문자만 압축합니다.예를 들어 문자열 "abcbc"는 연속 중복 문자가 없기 때문에 압축된 문자열은 "abcbc"입니다.압축 필드의 형식은 '문자 중복 횟수 + 문자' 입니다.예를 들어 문자열 "xxxyyyyyz"를 압축하면 "3x6yz"가 됩니다.
요구 사항 구현 함수:
void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr);
[입력] pInputStr: 입력 문자열 lInputLen: 입력 문자열 길이 [출력] pOutputStr: 출력 문자열, 공간이 개척되어 입력 문자열과 같이 깁니다.
[주의] 이 함수 기능 알고리즘만 완성하면 중간에 입출력이 필요 없습니다.
예시 입력: "cccddecc"출력: "3c2de2c"입력: "adef"출력: "adef"입력: "ppppppp"출력: "8p"
public class Test {
static void stringFilter( char InputStr[], long len, char OutputStr[]){
int[] a= new int[26];
int num=0;
int j=0;//OutputStr[]
for(int i=0;i num = InputStr[i]-'a';
if(a[num]==0){//
OutputStr[j]=InputStr[i];
j++;
a[num]=1;
}
}
}
static void stringZip( char InputStr[], long len, char OutputStr[]){
char temp=' ';
int num=1;
int point=0;
for(int i=0;i if(InputStr[i]==temp){
num++;
}else{
if(num!=1){
OutputStr[point++]=(char)(num+'0');
num=1;
}
OutputStr[point++]=temp;
temp=InputStr[i];
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
char [] test={'a','a','a','c','b','b','b','a','a','c','a','d','d','d','c','d','e'};
long len=test.length;
char [] res = new char[(int) len];
stringFilter(test,len,res);
int j=res.length;
for(int i=0;i if(res[i]!='\0'){
System.out.print(res[i]);
}else
break;
}
char[] res2=new char[(int) (2*len)];
stringZip(test,len,res2);
for(int i=0;i<2*len;i++){
if(res2[i]!='\0'){
System.out.print(res2[i]);
}else
break;
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.