文章作者:Tyan
博客:noahsnail.com | CSDN | 简书
1. Description
2. Solution
- Version 1
class Solution:def stringMatching(self, words: List[str]) -> List[str]:result = set()length = len(words)flags = [0 for i in range(length)]for i in range(length):if flags[i]:continuefor j in range(i+1, length):if flags[j]:continueif len(words[i]) < len(words[j]):if words[i] in words[j]:flags[i] = 1result.add(words[i])else:if words[j] in words[i]:flags[j] = 1result.add(words[j])return result
- Version 2
class Solution:def stringMatching(self, words: List[str]) -> List[str]:words.sort(key=len) result = set()length = len(words)for i in range(length):for j in range(i+1, length):if words[i] in words[j]:result.add(words[i])breakreturn result
Reference
- https://leetcode.com/problems/string-matching-in-an-array/