[LintCode] 한 문자열 이 다른 문자열 의 모든 문 자 를 포함 하 는 지 판단 합 니 다.
3145 단어 알고리즘
문제 분석: 한 장면 을 비유한다. 갑 과 을 이 가지 고 있 는 카드 A 부터 Z 까지 갑 이 가지 고 있 는 카드 를 판단 한다. 갑 이 을 이 가지 고 있 는 카드 를 먼저 갑 의 카드 하 쉬 를 한 번 보 자. A 부터 Z 까지 각각 몇 장 이 있 는 지 그 다음 에 A 에서 Z 까지 의 카드 를 순환 해서 을 이 가지 고 있 는 카드 를 빼 고 만약 에 어떤 자모의 장 수 를 마이너스 로 한다 면 false 로 돌아 갈 것 이다.
public class Solution {
/**
* @param A : A string includes Upper Case letters
* @param B : A string includes Upper Case letter
* @return : if string A contains all of the characters in B return true else return false
*/
public boolean compareStrings(String A, String B) {
// write your code here
if (A == B || A.equals(B)) {
return true;
}
if (null == A || null == B || A.length() < B.length()) {
return false;
}
Map map = new HashMap();
for (int i = 0; i < A.length(); i++) {
char a = A.charAt(i);
if (map.containsKey(a)) {
map.put(a, map.get(a) + 1);
} else {
map.put(a, 1);
}
}
for (int j = 0; j < B.length(); j++) {
char b = B.charAt(j);
if (map.containsKey(b)) {
map.put(b, map.get(b) - 1);
}
if (null == map.get(b) || map.get(b) < 0) {
return false;
}
}
return true;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.