C++示範bitset取代hashset解Leetcode 1733 Minimum Number of People to Teach
C++ STL的unordered_set與bitset都能解這題,但執行效率差很多,有誰寫C++其執行效能要比類似的Python code還要慢上好久倍?用hashset就如此
-----
C++ STL's unordered_set and bitset can both solve this problem, but their execution efficiency is very different. Has anyone written C++ that performs many times slower than similar Python code? This is the case with hashsets.
class Solution: def minimumTeachings(self, n: int, languages: List[List[int]], friendships: List[List[int]]) -> int: know=[] for L in languages: know.append(set(L)) need=set() for a1, b1 in friendships: a, b=a1-1, b1-1 if know[a] & know[b]: continue need.add(a) need.add(b) if not need: return 0 ans=float('inf') for lang in range(1, n+1): cnt=0 for i in need: if lang not in know[i]: cnt+=1 ans=min(ans, cnt) return ans
沒有留言:
張貼留言