leetcode * * 44. 어댑터 일치 (연구 대기)
* * 10. 정규 표현 식 일치 * * 44. 어댑터 일치
문자열 (s) 과 문자 모드 § 를 지정 하여 지원 '?''*' 의 어댑터 와 일치 합 니 다.
'?' 。
'*' ( )。
두 문자열 이 완전히 일치 해 야 일치 합 니 다.
설명:
예시 1:
:
s = "aa"
p = "a"
: false
: "a" "aa" 。
예시 2:
:
s = "aa"
p = "*"
: true
: '*' 。
예시 3:
:
s = "cb"
p = "?a"
: false
: '?' 'c', 'a' 'b'。
예시 4:
:
s = "adceb"
p = "*a*b"
: true
: '*' , '*' "dce".
예시 5:
:
s = "acdcb"
p = "a*c?b"
: false
[문제 풀이 사고 1] 동태 기획
class Solution {
public boolean isMatch(String s, String p) {
int m = s.length();
int n = p.length();
boolean[][] dp = new boolean[m + 1][n + 1];
dp[0][0] = true;
for (int i = 1; i <= n; ++i) {
if (p.charAt(i - 1) == '*') {
dp[0][i] = true;
} else {
break;
}
}
for (int i = 1; i <= m; ++i) {
for (int j = 1; j <= n; ++j) {
if (p.charAt(j - 1) == '*') {
dp[i][j] = dp[i][j - 1] || dp[i - 1][j];
} else if (p.charAt(j - 1) == '?' || s.charAt(i - 1) == p.charAt(j - 1)) {
dp[i][j] = dp[i - 1][j - 1];
}
}
}
return dp[m][n];
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
LeetCode 문제풀이 노트 113.경로 총 II경로 총 II 제목 요구 사항 문제풀이 두 갈래 나무와 목표와 뿌리 노드에서 잎 노드까지의 모든 경로를 찾는 것은 목표와 같은 경로입니다. 설명: 잎 노드는 하위 노드가 없는 노드를 가리킨다. 예: 다음과 같은 두 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.