Find All Anagrams
Given a string s and a non-empty string p, find all the start indices of p's anagrams in s.
Strings consists of lowercase English letters only and the length of both strings s and p will not be larger than 20,100.
The order of output does not matter.
문제이해 : String에 Pattern이 있는지, 있다면 몇 번째 인덱스에서 존재하는지 구한다.
Example 1: Input : s : "cbaebabacd" p : "abc" Output : [0,6]
Example 2: Input : s : "abab" p : "ab" Output : [0,1,2]
자료구조 : List이용
알고리즘 : Sliding Window와 배열에 알파벳 아스키코드를 저장하여 비교하는 메커니즘 이용! 인덱스들을 List에 넣고 이를 리턴한다. String과 Pattern 각각에 있는 알파벳 배열을 만들어서 알파벳이있다면 해당하는 배열방의 데이터를 1증가하여 frequency를 기록한다.
알고리즘을 Java로 구현
Last updated