Class Solution
java.lang.Object
g1701_1800.s1733_minimum_number_of_people_to_teach.Solution
1733 - Minimum Number of People to Teach\.
Medium
On a social network consisting of `m` users and some friendships between users, two users can communicate with each other if they know a common language.
You are given an integer `n`, an array `languages`, and an array `friendships` where:
* There are `n` languages numbered `1` through `n`,
* `languages[i]` is the set of languages the
ith
user knows, and
* friendships[i] = [ui, vi]
denotes a friendship between the users ui
and vi
.
You can choose **one** language and teach it to some users so that all friends can communicate with each other. Return _the_ _**minimum**_ _number of users you need to teach._
Note that friendships are not transitive, meaning if `x` is a friend of `y` and `y` is a friend of `z`, this doesn't guarantee that `x` is a friend of `z`.
**Example 1:**
**Input:** n = 2, languages = \[\[1],[2],[1,2]], friendships = \[\[1,2],[1,3],[2,3]]
**Output:** 1
**Explanation:** You can either teach user 1 the second language or user 2 the first language.
**Example 2:**
**Input:** n = 3, languages = \[\[2],[1,3],[1,2],[3]], friendships = \[\[1,4],[1,2],[3,4],[2,3]]
**Output:** 2
**Explanation:** Teach the third language to users 1 and 3, yielding two users to teach.
**Constraints:**
* `2 <= n <= 500`
* `languages.length == m`
* `1 <= m <= 500`
* `1 <= languages[i].length <= n`
* `1 <= languages[i][j] <= n`
* 1 <= ui < vi <= languages.length
* `1 <= friendships.length <= 500`
* All tuples (ui, vi)
are unique
* `languages[i]` contains only unique values-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
minimumTeachings
(int n, int[][] languages, int[][] friendships)
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
minimumTeachings
public int minimumTeachings(int n, int[][] languages, int[][] friendships)
-