입문 급 알고리즘 연습 자 - 문자열 - 문자열 의 첫 번 째 유일한 문자, 다른 것 찾기 (매일 두 문제 2019 - 09 - 17)

오늘 풀 린 두 문 제 는 모두 같은 유형 으로 문자열 에 있 는 문자 의 출현 횟수 와 관계 가 있다.문자열 에 알파벳 횟수 문제 가 걸 려 있 으 면 hash (해시 표) 를 사용 하 세 요. 망 설 이지 마 세 요. 망 설 이지 마 세 요. 망 설 이지 마 세 요.망 설 이면 패배 한다!
문자열 은 해시 표 의 방법 을 사용 합 니 다: int 배열 num, 길이 26, 고정 숫자 를 정의 합 니 다. 26 개의 영문 자모 입 니 다. 오늘 쓴 두 문 제 는 모두 소문 자 만 생각 하고 대문자 와 대소 문자 의 혼합 을 고려 하지 않 기 때문에 이 배열 의 길 이 는 26 으로 정의 하면 됩 니 다. 대문자 만 고려 하면 한 걸음 더 깊이 고려 해 야 합 니 다!!!그리고 문자열 s (문자열 의 길이 len = strlen (s) 를 옮 겨 다 니 며 함수 로 잊 지 마 세 요!), 그리고 num [s [i] - 'a'] + 고정 세트 입 니 다. 알파벳 마다 나 오 는 횟수 가 나 온 셈 입 니 다 ~
1. 문자열 의 첫 번 째 유일한 문자
첫 번 째 중복 되 지 않 는 문 자 를 찾 아 색인 을 되 돌려 주 는 문자열 을 지정 합 니 다.존재 하지 않 으 면 - 1 로 돌아 갑 니 다.
int  firstUniqChar(char * s){
    int len = strlen(s);
    int num[26]={0};
    for(int i=0;i

2. 다른 것 을 찾는다 
두 문자열 지정 s 화해시키다 t, 소문 자 만 포함 합 니 다.
문자열 t 문자열 s 무 작위 로 정렬 한 다음 무 작위 위치 에 알파벳 을 추가 합 니 다.
찾 아 주세요. t 추 가 된 자모.
char findTheDifference(char * s, char * t){
    int len_s = strlen(s);
    int len_t = len_s+1;
    int num_s[26]={0},num_t[26]={0};
    for(int i=0;i

 포 인 트 는 아아 아 ~ ~ 문자열 에 알파벳 횟수 문제 가 걸 려 있 으 면 hash (해시 표) 를 사용 하 세 요.

좋은 웹페이지 즐겨찾기